Update November 2021: the best solution I've found so far is to run it in-browser, in either Brave or Chrome. That - mostly - "just works".
Basically, trying to get Microsoft Teams working reliably on Debian 11 on a Surface Pro 6 is proving to be more of a trial than I had hoped.
jitsi works perfectly. High quality video, great audio.
But not Teams.
It is as the point where I am thinking about returning to my Mac instead, which would be a shame, as I'm enjoying my Linux-only approach. Mostly.
I know, I know, "don't use Teams; use jitsi instead". But it's not within my gift, if I want to work with people who work for organisations which use Teams. And I do, because that's how I make money.
Teams client via Microsoft's official apt repository
This works most of the time, until it does not.
When loading, I have to wait patiently for about 30 seconds while it discovers my camera and microphone. If I try to move the window in this time (e.g. to make it full screen), the application crashes, and I have to start again.
Audio and video go choppy intermittently, and I doubt it is my Internet connection. It could be the machine's network stack though.
If I try to open a large document during a Teams call, there's a reasonable chance gdm3 will crash, requiring me to log in again, re-open my calendar, click on the link, which opens a browser, which opens the Teams client, and then I can re-join.
This is embarrassing, and wastes everyone's time.
Teams in Firefox
Only if I want text chat, apparently, which is not what people want when they ask me to join a video call.
Teams in Chromium
If Teams' "Lobby mode" was enabled, the host could not admit me. Every time, we both got an error message.
With "Lobby mode" disabled, it was fine.
But I am not in control of whether the host has "Lobby mode" enabled or not, so this is not viable for me.
Teams client via flatpak
Early days of testing, but it mostly worked.
On first run, we had audio problems - if I counted to ten, the other side could hear a few numbers, then a gap, then the rest of them.
Changing microphones did not work. While it let me select a different microphone (one which I know works with Teams via apt, and in Teams in Chromium), there was no audio.
On quitting the client and re-joining the meeting, it did give me audio from the selected microphone.
What's left to test
Teams client via snap. Because
apt apparently isn't good enough, and there needs to be multiple package installation systems for Linux.
Teams via another browser, such as Brave.
Update November 2021: it works pretty well in both Brave and Chrome. But I'd prefer not to use Chrome, so I am going to stick with Brave for a bit.
Use my Mac. Which, while it definitely has its irritations, did not do this.