Solved.
It was the Firewall setting on the router. It was set to high. Strange that it only affects my Wi-Fi nodes and not ethernet nodes.
Lots of firewalls built-in to routers are known to block traffic on non-standard ports, like port 8333 that's used by bitcoin-qt. They only allow a handful of ports which ISPs expect their consumers to use like ports 80 (HTTP), 443 (HTTPS) port 53 DNS, and some others, and they block the rest of the ports.
Some routers do the reverse and only block traffic from ports the ISP doesn't like, like Bittorrent and proxy server ports.