I would recommend buying a small server, installing openvpn there and establish persistent vpn tunnels from the pis to that server.
or use ipv6 and "registrar" service (kinda dynamic dns) which will keep the list of currency running hosts.
works well for me, easy to access every pi, no hassle, to manual ip config etc.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.