Close situation that have with mikrotik client.
Solution for most of mikrotik users, crontab running on client side, with a simple script running every 5/10 mns, with a ping to internal ip of your router server. If ping fail, restart wireguard from client side.
Not a clean solution, but does the job.
I router I have a GL.iNet GL-AR750. When the server changes IP (router restart), the client connection remains on the old IP and the vpn tunnel does not work. To reactivate it I have to renew the "wireguard" interface in OpenWRT, and it takes the new IP. Persistent Keepalive should check the connection life every 25s but it doesn't seem to work.
into "System" -> "Scheduled tasks" per lleachi instructions.
It will sort dynamic IP change at "server" peer side. Total downtime with this should be 150 seconds in worst case regarding wireguard (add router restart time and maybe a few name server resolution failures and thats it).