> When passivation is enabled, both fetchInMemoryState and fetchPersistentState are enabled

what passivation has to do with state transfer? can they both be set separately?

> Also when passivation is disabled and the cache store is shared, I don't think enabling any kind of state transfer is required.

here I agree with you. the join node should be able to fetch the value from shared cache store