Okay, hopefully this will help someone someday. After more than 10 hours of testing things over 2 days, I think I got it figured out.
First, get your Gateways setup how you want them to be with priority, etc.
Now here's how I got it to work on 25.7_4:
1. Verified that "Allow default gateway switching" was checked by going to System -> Settings -> General. Don't forget to Save if you changed the setting. (I did this because I'd rather let everything go out whatever is the "default" *except* my Web Switch Pro.
2. Go to Firewall -> Settings -> Advanced and check "Skip rules when gateway is down". Don't forget to Save.
3. Create 4 rules on your LAN interface.
# Action Interface Protocol Source Destination Gateway Description
1 Pass LAN ICMP (Web Pro Switch IP) 1.1.1.1 Main_ISP_Gateway Web Pro Switch to 1.1.1.1 (Enforce Main ISP)
2 Block LAN ICMP (Web Pro Switch IP) 1.1.1.1 * (default) Block 1.1.1.1 if Main ISP Fails
3 Pass LAN ICMP (Web Pro Switch IP) 8.8.8.8 Secondary_ISP_Gateway Web Pro Switch to 8.8.8.8 (Enforce Secondary ISP)
4 Block LAN ICMP (Web Pro Switch IP) 8.8.8.8 * (default) Block 8.8.8.8 if Secondary ISP Fails
Make sure your 4 rules above are before your "Default LAN to any" rule. Apply and Save.
Rules 1 and 3 work when the associated Gateway is up. Rules 2 and 4 prevent the traffic from being redirected to the other gateway on failure of that ISP. The "default" gateway is basically a "gateway of last resort". By blocking that traffic, you're blocking the pings from being redirected to the "gateway of last resort".
"