Look at it this way, anywhere that has resolvers forwarding to other resolvers that forward to yet another set of resolvers before the query gets to the root servers (anywhere with a complex network and multiple layers of firewalling) will have
a succession of caches that need to clear .. so might take somewhat longer than whatever TTL you set. The recommendation therefore is to lower the TTL for a few days BEFORE you change your DNS records.