I did it and aswered a couple of questions I had so I'm leaving it here.
yes backup/restoring config.xml backups CA and all certificates, noticeably tho if you use the passwd command from shell at anytime be weary the user password you just changed will be reverted back to the one in config.xml at every reboot, you need to change a user password from the webgui to make it stick
yes it is obviously possible to restore a confix.xml just after the install process before reboot, the installer asks you at the end if you want a shell before rebooting and you should say yes, then dhclient your network device (I'm using a vps with only one network device vtnet0) and then use fetch/scp to get the config.xml on the box, put it into /cf/conf/confix.xml and reboot, that's basically it.
Noticeably the fetch available in this environment cannot open https links without installing root certificates, which I didn't wanted to do because I don't know if it's a security risk (I believe so), so I opted to scp the file from another server I have, scp did not add the ssh key and would fail miserably, you need to ssh into the box to add the key to your know hosts (or add it manually) and then you can scp files from it.
So I've created the basic setup (one WAN device on vtnet0 with DHCP and one LAN device on ovpns0) on a VM on my laptop, issued all the certificates and set-up the main admin user and created a firewall rule to allow the OpenVPN port (UDP 1194) from WAN Net to This Firewall, got the ovpn config file from the box and then I exported the config.xml.
that's the config.xml I restored to the box just after install having access to it via VNC.
device name and assignation during first boot, which was my main question here. the device name is gonna be checked against what's in the config.xml BEFORE starting OpenVPN and creating ovpns device, that introduces a complication here if the device name do not coincide.
if the WAN network device name is the same (vtnet0, em0, etc.) in your VM/config.xml file and on your VPS it's all good, the box just starts without complaining, OpenVPN starts it's ovpns device assigned on LAN and you can connect to it just by changing the server IP address on you ovpn file and you got the GUI on the vpn address and at no time the default login has been exposed to the internet.
if the device name is not the same it's a bit tricky, because during boot up it's gonna ask you to assign devices BEFORE the Openvpn device (ovpns0) has been started, so you can reassign your WAN but you're gonna loose your assigned LAN because of this.
you can obviously fix this via shell (probably haven't looked into it, I'm just learning my way around pfsense) but the easiest way is to just use the same device name in your VM as you're gonna find on your VPS, in my case on my VPS the device name is vtnet0 and you can get that same device on virtualbox using the paravirt driver for your virtual NIC.
I believe you can also just change the device name in the config.xml file but I haven't tried it.
that's all folks, I hope this can help somebody in need of understanding how to do this.
Building a VPN aggregator this way on pfsense gives yo, bandwidth control for each VPN, firewall, IDS, etc.