Setting transport.strictPeerToPeer = true doesn't really do anything with dist caches with L1 disabled, as commands are replicated only to members of the cache. With L1 enabled, writes/txs may or may not fail, depending on if there are any L1 requestors for the modified keys and on the value of clustering.l1.invalidationThreshold - unpredictable, so more harmful than useful.
With repl caches, the setting does work as advertised: even if the cache topology contains only the nodes with the cache running, the writes/txs are sent to all the nodes in the cluster, and they will fail if the cache is not running on one of them. On the other hand, in order to retry the operation, the users would have to wait for the cache's topology to contain all the nodes in the cluster - so if they need to ensure that a cache is present on all the nodes in the cluster, they could check that RpcManager.getMembers().equals(Transport.getMembers() directly.
So we should remove the transport.strictPeerToPeer setting, although we could mark it as deprecated and log a warning for the time being.