It is both. If it is VOIP it should always allow emergency calls period. But Google ALSO screwed up by not ensuring emergency numbers go through even if the configured dialer is trying to eat it.
Obviously each one had a problem, but they are categorically different. The problem that <no emergency call could be made> was an OS problem. The problem that <Microsoft Teams could not make an emergency call> was an application problem.