Oh mighty @mozerd aka the one that can't read labels, please test the mentioned scenario in the first post of this topic and in other places on the forum:
Set up two peers, each on different routers ofc.
Let’s say Peer A sits behind a dynamic public wan IP, so you have to use a DDNS to reach it, let’s say that peer-A-public.wg-ddns.ru points to this peers current IP and gets updated properly.
And we have one Peer B that sits behind a CGNAT IP / NAT whatever that you have no control over, and this peers wants to connect to our Peer A.
So you set under Peer Bs config, the endpoint for our Peer A, which is peer-A-public.wg-ddns.ru:whateverport.
Now, reboot your Peer Bs router but with your wan cable unplugged, let it boot, and plug the wan cable 10 seconds after it finished booting.
Wireguard will not come up, wireguard attempts to resolve peer-A-public.wg-ddns.ru and fails because we have no internet by the time it tries to do so, AND THAT’S IT, it doesn’t try again, nothing, nada, just like your ordered switch without PoE doesn’t magically have PoE.
Oh, and by all means, please configure your peers properly before the test.
Cheers.
Also, this is not something MikroTik specific, it’s just how WireGuard works, for other platforms there are scripts provided:
https://github.com/WireGuard/wireguard-tools/tree/master/contrib/reresolve-dns