Is it enough for you to fail over to the “dhcp” interface if the PPPoE connection goes physically down, or do you want to check that internet can be reached via the PPPoE connection? In the former case, what @zacharias suggests is enough (you just set the default-route-distance parameter of the /ip dhcp client row to 2), in the latter case you need the same plus some additional magic.
Rather for the PPPoE, because the DHCP is the WAN of last resort so it doesn’t make much difference whether you can reach the internet through it or not. And yes, I do have in mind the recursive next-hop search.
Sure, but that was just level 1 of the quest. Now imagine what happens if the PPPoE session stays up but the PPPoE ISP has problems in their network so you cannot get to the internet through there. In this case, the route via PPPoE will remain active, so the one through the DHCP ISP won’t be used.