When GPU subdivision is used, and the modifier is not set to be applied
on the cage, UV selection is not synced with the face selection in the
viewport.
This happens because the extraction, despite being in edit mode, is set
to MESH instead of BMESH (or MAPPED in some cases) like for CPU
subdivision, and since the mesh is not always synchrnised with the BMesh
the edit mode flags are not always updated.
With GPU subdivision, when creating the MeshRenderData, the condition
has_mdata && do_final && editmesh_eval_final != editmesh_eval_cage is
true which forces the MESH extraction. Following comment in D14485,
this replace the has_mdata in the condition with use_mapped which
solves the issue.