This is not expected and I cannot reproduce it using your code with some minor modifications:

use torchvision.datasets.MNIST instead of MNISTDataset, as it’s undefined
remove ToPILImage(), as MNIST already returns PIL.Images

use F.log_softmax instead of torch.log(F.softmax()) for more numerical stability

Here is the output for the switch between epoch 0 and 1:
Loss: 1.434
In-batch acc: 0.51
Loss: 1.455
In-batch acc: 0.52
Loss: 1.434
In-batch acc: 0.53
Loss: 1.474
In-batch acc: 0.51
Loss: 1.405
In-batch acc: 0.54
EPOCH 1
Loss: 1.331
In-batch acc: 0.57
Loss: 1.395
In-batch acc: 0.54
Loss: 1.343
In-batch acc: 0.55
Loss: 1.369
In-batch acc: 0.55
Loss: 1.35
In-batch acc: 0.56
Loss: 1.328
In-batch acc: 0.57
Loss: 1.364