It is due to data mapping ordering.
According omp spec:
If one or more map clauses are present, the list item conversions that are performed for any use_device_ptr or use_device_addr clause occur after all variables are mapped on entry to the region according to those map clauses.
The change is to put mapping data for use_device_addr at end of data mapping array.
Can you try to merge these 2 blocks somehow, they are very similar