The channel should probably only be set to AUTO_GET_STATE if getFetchStateOnStartup() returns true. Otherwise if the node is shunned and reconnects, a full state transfer will occur. Presumably the cache can't or doesn't want to handle that, or getFetchStateOnStartup() would not have returned true.
One problem is what if getFetchStateOnStartup() returns false because the config uses a shared cache loader (so no persistent state transfer) and a cold cache at startup is OK (so no in-memory state transfer). But, following reconnect the cache is no longer "cold" – the in-memory tree now has potentially stale data.