I think maybe he changed the volume mapping at some point because most of this I found through the GitHub page and I don't think I ever changed that part myself.
FWIW it works for me as-is but there may be some fuckery because I started out in a much earlier version.
Great call on setting up a system service to start it though, probably would get annoying really quick without that if you frequently reboot.
Can't remember the name at the moment but I had a HACS plugin that would pick up at the power level/battery sensors and warn you when they were below a threshold or offline for a specified amount of time
Hey I don't really have a solution for you, but if you are still stuck on this, give tailscale a try.
I used to have a manually-configured WireGuard server too, and had a lot of the same issues you are.
Now I just use tailscale to manage that (it's still a WireGuard backend just like you are looking for) and I actually have my Pihole configured as the DNS host for my local network and my Tailnet so it's used by all of my devices even remotely.
So the same outcome you are looking for but with a slightly different path to get there
But is that really winning?