That is NVIDIA’s fault. They wanted everyone to use the inferior EGLStreams while knowing GBM is better. Everyone ignored them and moved on, so NVIDIA sucks on Wayland. They did change their mind recently so maybe you’ll get support at some point in the future. Unfortunately there’s nothing to do from the Wayland side to fix this, except for adopting EGLStreams which nobody will do.
The screen capture protocol was merged a month ago. Support will come soon. wayvnc, grim (and by extension grimshot) already have support for it. No compositors have implemented it afaik, but wlroots is very close to it.