

Are you routing DNS over wireguard the whole time or do the DNS servers change when you go from public internet to your home network?
If you are using the same DNS servers i.e. always using DNS over wireguard then there isn’t really a lot you can do.
The way I do this is when I am on my home network I use the DNS on that network, i.e. the adguard instance I set up and also override DNS names with, when I am on some public internet i.e. via cellular, I use whatever DNS server they have. So on home network jellyfin.bob.com returns 192.168.8.3 (for example) and on the public internet jellyfin.bob.com will return 68.32.23.11 (i.e. my public IP address).
However that requires multiple DNS servers.
What is an example server where you’d like to do this (it may give us more options) and how is your DNS set up?
Matrix as adequate but not easy to set up. Their encryption dance is terrible and bites you eventually. However, the install is top notch if you have a server you can dedicate to it and are familiar with editing flatfiles and running commands. Literally all kinds of difficult addons enabled with a config option.
https://github.com/spantaleev/matrix-docker-ansible-deploy