Hi there. First, I don’t think you have you vodaphone router as a backup. It was connected prior to failing the WAN test. You can actually make it a true backup - it won’t initiate the connection unless WAN1 is down.
Your priority rule will work like you want since you only want traffic to go to the vodaphone if the first WAN is down. It most likely would have worked, except your WAN2 also failed the DNS health check. I imagine you are using the google public DNS services on both WAN health checks?
Personally, I use a different health check approach. Since I am really wanting to know if my link is connected (both links go to the same ISP), I ping the default gateway of the modem. So, my router is 192.168.0.1, the ISP modem is 192.168.1.1, and the remote gateway for the modem is 192.168.2.1. I set up a health check for PING to 192.168.2.1. As long as my end of the connection is up, I consider that a valid link. There are too many variables involved with DNS. Some DNS servers will label you a nuisance if you exceed a certain number of queries per day (especially using the same request repeatedly). Basically, DNS has to make it to layer7 and then back down. PING stays in the first 3 layers - far less false negatives.
My advice would be to ping the google DNS and possibly OpenDNS on each WAN. OR, you can move towards a PING strategy. Chances are that both DNS services won’t fail at the same time. I am pretty sure google had an outage this week. YouTube had some issues with iOS apps.
Hope this helps.