This is with WebEx which I think uses WebRTC; it got funny when I disabled too much fingerprinting [in my browser].
I've managed without specific-app-sharing by using workspaces
OBS worked okay the last I toyed with it, IIRC using Pipewire for the capturing.
OBS works fine from what I've heard but must admit I don't use it myself.
I have tried using chrome (stable and unstable) and OBS. OBS uses pipewire to capture (which I believe in turn talks wayland xdg-desktop-portal). I think chromium works the same way (I have the chrome flag "enable-webrtc-pipewire-capturer" turned on). There doesn't seem to be a way to share a single specific window.
There is so much half-cocked or old information out there it is hard to find the right place to look. At the end of the day I'm not sure if xdg-desktop-portal, wlroots, or pipewire need to be improved.
I am using sway + wlroots + xdg-desktop-portal-wlr on my system.
There's a lot of assumption around Wayland handling based on the value of "$DESKTOP_SESSION". This is relevant for xdg portals that make screensharing and the like possible.
In the end it's mainly Electron/Chromium things that may need some launch arguments to truly do Wayland. Anything GTK/Qt has been inherent.