@_Dave for point 3: you could try using Google Hangouts to make your outbound calls. You can verify your phone number and then set it to use it as the outbound caller ID. This way it's even more transparent to the people you are communicating with.
This may be dated now but I'm betting the procedure is still very similar:
I have no access to Public Mobile's cellular network on my workplace because my office is in the subbasement floor. However, I have access to the internet through WiFi. To keep my phone accessible while I am at work, I use the following trick to activate WiFi calling:
1- I installed Fongo app on my phone and it gave me a free phone number like (587) XXX-XXXX. This app allows free Canada wide calling through the internet (I guess you can use some other free apps as well).
2- I dialed *62*587XXXXXXX# on my phone while I had access to Public Mobile's cellular network. Using this code, my incoming calls are forwarded to the destination number i.e., my new Fongo number when my phone is not receiving the network's signals. So, I receive all incoming calls through Fongo thanks to the available WiFi.
3- To call someone at work, I use Fongo directly, as calling is free using the app.
I use a third party app. My phone is an android running 9.0 android . I downloaded Skype and WhatsApp and use those for long-distance. Of course I'm connected to a wifi network however it will work with your data as well.
That's not wifi calling. Wifi calling doesn't use an app and it is a normal phone call just over wifi instead if the cell tower.