I have some randomness in Dataset get item. I do random shuffling of values. It looks like seed is not hardcoded there and I get true random data for each training step. Can you please confirm?

Sorry, I do not get what you would like me to confirm.
On ignite’s side, seed is used to make random state “synchronization” at each dataloader restart (it corresponds in most of the cases to the epoch size). In this way, for a given iteration/epoch the dataflow can be the same (for a given seed). More precisely it is something like
for e in range(num_epochs):
    set_seed(seed + e)
    do_single_epoch_iterations(dataloader)

Hope this answers your question