Re: black screen when using Teams from browser.
Check you have environment variables set correctly: XDG_SESSION_TYPE=wayland and XDG_CURRENT_DESKTOP=sway.
I set up them in my .zshrc before starting sway. This helped me to fix the black screen issue. Hope it helps you too!
If those env vars weren't set screen-sharing with xdpw would be broken as a whole because pipewire wouldn't invoke it, which wasn't the case. Other applications like that one python gstreamer script could access xdpw just fine, and Firefox and Chromium could screen-share in other websites (like Mozilla's gUM test page) just fine; the only one broken was Teams.
Anyway, a less convoluted setup might be to use the browser version of Teams in a browser where it allows you to screen-share, ie Chromium and not Firefox. IIRC when I tried it a few months ago people on the call said they could only see me broadcasting a black screen, but I know the browser is fine so it had to have been a Teams issue. Maybe it's fixed now.
Hopefully these applications will catch up soon. As another example, Zoom's native Electron application uses a GNOME-specific method of screen-sharing which doesn't work in non-GNOME DEs, but I've heard the browser version works fine.