ReshardingOplogApplicationRules::_applyDelete_inlock() has special logic to upon removing a document from the temporary resharding collection to move a document from one of the other stash collections (i.e. one associated with a different donor shard) into its place. The runWithTransaction() helper does so by using AlternativeSessionRegion which will construct a separate OperationContext. The write being performed in this separate OperationContext won't have shard version attached for the temporary resharding collection like the original one had. Calling initializeClientRoutingVersions() on the OperationShardingState associated with the separate OperationContext should address the delete on the temporary resharding collection not having a shard version.
SERVER-59023 for why this is necessary; that this was not already being done was an oversight when implementing that ticket.