If shuffle=True is set in the DataLoader, a RandomSampler will be used as seen in these lines of code 78.
This sampler will create random indices and pass them to the Dataset.__getitem__ method as seen here 28.
Your data and target correspondence should thus hold, since the same index should be used to load these tensors.