I know the point of the request is opnsense, but...If it were me, I'd do it with Linux nodes and then use RADIUS for central authentication. Even with round robin DNS, I found it was 'good enough' i.e equal enough that I didn't require a load balancer.Obviously RR DNS doesn't account for node failures, but with all IPs explicitly specified in the configuration (instead of using DNS), remote-random set and/or resolv-retry set to infinite (if using RR DNS/hostnames), OpenVPN itself will then try other server IPs.
Synchronisation of configuration is the main problem to tackle here. Unfortunately the OPNsense cluster mechanism supports only one secondary firewall system to which the active primary node syncs all settings.