Wireguard connects to an IP endpoint. It does not resolve the domain for each packet.
Maybe this has to be solved on the application layer then. All I can say is that my setup with a dynamic DNS entry and WG tunnel on android works flawlessly.
Gotcha but a restart every IP change and you’re good.