OpenVPN allows multiple connections if you enable duplicate-cn:
–duplicate-cn
Allow multiple clients with the same common name to concurrently connect.
In the absence of this option, OpenVPN will disconnect a client instance upon connection of a new client having the same common name.
https://openvpn.net/community-resources/reference-manual-for-openvpn-2-4/
There’s also headscale if you wanna selfhost the tailscale control server:
https://github.com/juanfont/headscale
I recommend setting up selective routing in your opnsense wireguard and use that for the PrivateDNS. That way you won’t tunnel traffic through your home unnecessarily.