It has been my experience with 6.40.2 on a network of ~30 Mikrotik routers, that in order for a dhcp-relay anywhere out in the network to work, the packets from the relay must be received by the dhcp server on the same interface the dhcp server is configured on.
Now consider the case of an OSPF ring where you cannot predict what interface the packets will arrive on. When a link failure occurs, OSPF reroutes everything over backup links and the interface over which the packets from the relay arrive, changes. This assumes you’re running DHCP on a router that participates in OSPF and has multiple links.
None of my Mikrotik’s are directly connected to the Internet. They’re all internal routers.
Picture a water tower site. One radio pointed east. One pointed west. It is a full ring so if the east link goes down, then all traffic will reroute and come in from the west. If the west goes down, all traffic comes in from the east. Either the east or west link can go down and the tower still has service.
If I put the DHCP server on the east link. Everything works. If there is a network failure and the east link goes down, traffic reroutes and comes in from the west. DHCP no longer works.
Ideally I would create a dummy “loopback” bridge and use it for DHCP. Then no matter where the traffic comes from (east or west) the DHCP server will work. Of course I did not find this to be the case.