Why doesn't the ANY DNS query show all the records?

When you send a DNS ANY request to a DNS server, the server returns all the DNS records it knows. Typically your router is set up as a caching DNS server to speed up repeated requests and when your device sends the ANY request, it returns all the values it stores in its cache - which usually means just A, AAAA (if IPv6 is enabled) and CNAME records.

To see all the records, either use the authoritative DNS server or e.g. Google's public DNS server (IP address which should return all the records.

Finally, the ANY request may be expensive for some DNS providers and is being deprecated. So if you receive a HINFO response saying

"Please stop asking for ANY" "See draft-ietf-dnsop-refuse-any"

you have to query the individual record types in your queries instead of using ANY.