They don't need to be persisted at the received side, but yes, there could be 9 remote reads if each of 10 shards are running code that may result in state-based aborts. Usually, however, only a subset of the shards run such code.
But remember, 2PC requires 4 messages per worker (so 40 messages total in your example).