@TheWaterbug
You'll need a few things, might seem like a lot but it's actually quite easy with the pfSense ipsec wizard!
Setup your VPN settings in
pfSense for IPsec tunnel to use EAP TLS
I.e. this is using a CA that you setup, a Cert for the IPsec Server, and a cert for each client.
Download the config with the pfSense package "ipsec-profile-wizard"
Test this config works by now loading that .mobileconfig onto your phone.
https://www.derman.com/blogs/iOS-IPSec-VPN-OnDemand-Setup
Section 3 there "3. Import the IPSec VPN configuration profile onto the iPhone" provides instructions for apple configurator, or just emailing it to yourself.
Once you've got the above working nicely, you know you have a secure VPN with cert based auth and you can add in the few line that I posted above to the .mobileconfig file, and then upload that to the phone in question.
N.B.
You MIGHT have to "Supervise" your iphone for this to work...
For "Always On VPN" you 100% need it supervised, but I THINK that with "On Demand VPN" you don't have to.
https://www.miradore.com/knowledge/ios/enable-supervised-mode-on-ios-device-using-apple-configurator/
That should get you started.