It could be that there is some kind of design bug (no way for a dialer to indicate that emergency numbers cannot be dialed) but it could also be an actual Teams bug (Teams indicates that it can dial 911, sets up a connection that dies in the background).
Because it specifically happens with Teams installed but not signed in, my guess is that the latter is the problem: Teams tells the OS "yeah sure let me dial that for you" but then doesn't complete the call because it wants you to log in to MS first. Reinstalling the app, as suggested, would kill all associations with the standard dialer, but an update from MS is necessary to fix the main bug. I have a feeling the promised update for 2022-01-04 will remove the ability for these dialers to call emergency numbers all together.
In my opinion there should at least be a setting (enabled by default) to send emergency calls through the system dialer, if it's not enforced automatically already.
Not sure if Teams does that, if not I guess it would be possible, although I'm not sure if there aren't cases where suddenly a different (=an OS component) app than the user expects taking over also would be bad, e.g. if someone used a special dialer for accessibility purposes. Maybe this should be behind special review and testing, at least this specific bug here seems like it'd have been easy to catch if emergency calling behavior was tested.
In fact, Google has themselves made several available over the years; Hangouts and Google Voice are two examples.
What is missing is a way to say “emergency call failed” and pass it to another handler (perhaps even a low-level one built into the cellular part of the phone itself).