If the SIM is accessible from the OS on the device, then it seems that it would be possible to build an implementation. What is unclear to me (but may be cleared up reading the relevant standards) is if the call is just data on the cellular side. If it is, then moving from wifi<->cell should be possible. If not, then I suspect the hardware would require some special support for it.
Either way, I wouldn’t expect it to be included in the initial release. My understanding is that the initial release will be just the basic functionality needed to call it a phone. (Think Android 1.0, or possibly less.)
One, possibly interesting, follow on question. Has anyone looked at the source for the Ubuntu phone to see if it supported UMA/GAN? That might direct us to some existing open source software that implements the standards, which would make supporting it MUCH easier.
I looked for mentions of UMA/GAN support in Ubuntu Touch. I found a mailing list thread from 2013 requesting the feature.
In my experience it’s only in the last two or three years that WiFi Calling really emerged as a feature commonly supported by carriers and phones without having to install special apps, so it would have been very low priority for Ubuntu Touch back in 2013, I imagine.
This September 2018 Ubuntu Touch Q&A includes the question “Can we add wifi calling to UT?” It sounds like nobody has attempted it and a perceived lack of standardisation is seen as a barrier to developing it, but apparently LineageOS supports it.
It would not surprise me if, in the case of LineageOS and Ubuntu Touch and Android, it’s more about interfacing to baseband chipset implementations of VoWiFi rather than writing a full implementation from scratch. If you are already using a highly-integrated SoC containing baseband/WiFi/application processor/VoLTE/VoWiFi/kitchen sink/back door/cat flap/etc/etc you might as well make use of it to avoid having to develop your own implementation. (The Librem 5 is not going to use that kind of SoC.)