Invalidation is not distribution, so there's no remote lookups happening when you try to find a key that is not present in that node. Hence, your assumption in 6) is incorrect. 6) will only work if you have a shared cache store between the two cluster nodes. In that case, when 6) does not find it locally, it goes to the database and retrieves it.
On a more general note, invalidation primarily makes sense in a environment when there's a persistent store from which u can retrieve data that might have been invalidated. Think of the Hibernate or JPA 2nd level cache. By default Infinispan configures entity cache with invalidation which means that when an entity is updated, it's removed from the cache in the other nodes. But, when this entity is requested in a node that does not have it, Hibernate goes to the database, retrieves it and puts it in the 2LC.
Ok thanks for your answer.
Will make a modification in my presentation.