These configurations confuse two distinct but related functions.
The default BIND behaviour is to cache and this is associated with the recursion parameter (the default is 'recursion yes').
There are many configuration examples which show caching behaviour being defined using a type hint statement in a zone declaration.
If a DNS server receives a query for a zone for which it is neither a Master nor a Slave then it will act as configured (in BIND this behaviour is defined in the file): A master DNS server can NOTIFY zone changes to defined (typically slave) servers - this is the default behaviour.
NOTIFY messages ensure zone changes are rapidly propagated to the slaves (interrupt driven) rather than rely on the slave server periodically polling for changes.
On a second or subsequent request for the same data the Caching Server (Resolver) will respond with its locally stored data (the cache) until the time-to-live (TTL) value of the response expires, at which time the server will refresh the data from the zone master.