Looking at it a bit it seems to me that the [GL_AMD_pinned_memory](https://registry.khronos.org/OpenGL/extensions/AMD/AMD_pinned_memory.txt) extension could be used to do what we want. It's implemented in Mesa (including for Intel), but apparently not on Nvidia.
The approach here would work for every vendor that supports Vulkan host external memory, so probably more widespread, but it's IMO a bit awkward as it requires to have Vulkan in the first place. If we have Vulkan then it would probably be better to use the Vulkan D3D backend. Then sure, it's not yet covering the same surface as the OpenGL backend. For native OpenGL games, although I don't know any which suffer from the same performance issues as WineD3D, then the Zink route is perhaps another choice.
This is mostly for the sake of the discussion, and I'm not saying that this approach is bad or unnecessary, it seems simple enough to be acceptable to me.