Thanks @michaelmurfy
I reset network settings while making the thread, so I'm monitoring it along with running a packet capture on the EdgeRouter to see if I can determine when/why/how it stops working.
I also removed a VPN profile I made that would auto connect to my EdgeRouter's l2tp VPN when the phone wasn't connected to specific SSID's in case that was somehow interfering with it. When I was having the problem in Auckland I switched to the manual profile to stop it auto connecting the VPN, thinking that perhaps being connected to my VPN while wifi calling was also connected to 2degrees over an ipsec tunnel might be breaking it.
But, unfortunately the same thing happened where the phone wouldn't make or receive calls at some point. And at home, it wouldn't have auto connected anyway as I'm on my own wifi but I deleted the profile now anyway.
Failing that I'll do the drastic erase all content and settings and see if that changes anything before throwing in the towel.