The difference you experience is likely due to the more modern IPNS implementation respecting TTL and doing a better job caching a valid IPNS resolution result for longer, and not hitting the network every time.
Older Kubo/go-ipfs had hardcoded cache of 1m for /ipns/ids
and that was all. It wasted resources by resolving the same path over and over, when someone browsed a website.
Latest versions respect TTL from IPNS Record and DNSLink (TTL of DNS TXT Record is respected and used for caching just like IPNS TTL one if you use DNS over HTTPS set via DNS.Resolvers
).
In both cases, you are able to adjust TTL and its impact on caching as a publisher, or as a reader, see tips in: