If you have a dynamic IPv6 prefix you have to use a dynamic hostname on your client instead. But your wireguard client will always prefer ipv4 if you have a hostname with A and AAAA records.
#ifdef INET6 ND_IFINFO(ifp)->flags &= ~ND6_IFF_AUTO_LINKLOCAL; ND_IFINFO(ifp)->flags |= ND6_IFF_NO_DAD;#endif