You could add the noise in the training loop (outside of the Dataset).
Alternatively you could create a Dataset instance for each split (and add the noise to the training dataset), create the split indices, and wrap the datasets together with the corresponding split indices in Subsets.