Basically, the ROS implementation has a bug where Wireguard’s initial handshake always gets sent back through the default gateway instead of the interface the traffic came from which makes the connection fail due to a protocol error. And since the handshake isn’t tracked, you can’t use mangle to manage it either.
The only way to work around the bug is by using policy routing:
http://forum.mikrotik.com/t/wireguard-multi-wan-policy-routing/174145/1