I have a domain which points to my router (over dynamic DNS). My parents’ Router connects to my home network via Wireguard using that. All my services have subdomains, for which I have set static DNS records that point to the local address (192.168…) of my server. This way, I only need to expose Wireguard to the public.
Using this as well. Works pretty solid so far.