HN might bean outrage machine some days, but like every Voip thing ever says you can't call emergency services with them. I always believed it to be a SLA deficiency in consumer internet? I'm guessing a strong preference for the real cell network to handle the calls would be necessary until this changes. Unless you can actually swap out the "phone" app on Android to have a 3rd party app make a real phone call?
Yes, any app can be a phone app ("dialer" in Android parlance), and there is a user preference to determine the default dialer app for sending and receiving calls.
In fact, Google has themselves made several available over the years; Hangouts and Google Voice are two examples.
In fact Teams itself has E911 support, you have to enable it if you setup a phone number PBX.
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).