IMO, there is no problems with your getitem's permutations, they all will be generated randomly as supposed.

By default each time it returns random seed.

new_item = np.random.permutation(item) it returns a random value not random state’s seed, right ?

I have found some information:
However, while resuming from iteration, random data augmentations are not synchronized in the middle of the epoch and thus batches remaining until the end of en epoch can effectively be different of those from the initial run.

This info is about when you try to resume/restart the training from a checkpoint that saved trainer’s state in the middle of epoch (e.g. I store checkpoints every 1000 iterations and my epoch is 5432 iterations).