are you using VLAN ? or interface untagged?
These interfaces are untagged.
I believe that if you do the configuration with VLAN you will not have this problem, as there will be knowledge of the L2 path, even if FGT_A is active and Router_B is with VRRP active.
Router A ========= Router B
FG100 A === HA === FG100 B
Or you can also try to understand the reason why the VRRP is being changed, without dropping the interface.
I'm not quite sure I understand what you're trying to tell me. The Routers A and B are off the ISP. Let's assume the config can't be changed. And it's in VLAN0. How would I need to wire my fortigates to these devices? At the moment Fortigate A has a cable from WAN1 to RouterA. And Fortigate B has a cable from WAN1 to RouterB.
When I pull the cable on FG A it will failover as expected. However if I pull power from RouterA the Fortigate does not failover. My guess is because RouterB does not have a cable to Fortigate A. So RouterB became active but does not have a direct path to Fortigate A. Only to Fortigate B.
Is there a way to let the Fortigate failover when, let's say, it can't ping 18.104.22.168 five times in a row. If I then pull RouterA, Router B would become active. Fortigate A would not be able to ping 22.214.171.124 and should failover to Fortigate B. Then the connection should be active again.
But I'm not sure if the is the way. And if so, how to configure this.