i had this happen daily, tried everything. then i opened firewall and made outbound and inbound rules and allowed connection for wow, and it hasn't happened once.
click start > type firewall > click windows defender firewall > click advanced settings on the left panel > click inbound rules on the left panel > click new rule on the right panel > click next (program is selected already) > under "this program path" that is selected click browse and find your wow.exe > click on wow.exe and then "open" > click next > next again (allow the connection should be selected already) > next again (all 3 rules applied) > give it any name and thats it
then do the same but instead of clicking inbound rules, click on the outbound rules and follow the same steps
then log into your account on the website, wait 2 minutes, then try to log into your game
worked for me, hope this helps!
p.s. this has something to do with some weird protection the server has, and when you have your modem configured for dynamic ip (the one that changes every so often), game stops you from logging in (probably an anti-bot measure or something), but these rules seem to have fixed the issue for me.