Subset will wrap the passed Dataset in the .dataset attribute, so you would have to add the transformation via:
dataset.dataset.transform = transforms.Compose([
                transforms.RandomResizedCrop(28),
                transforms.ToTensor(),
                transforms.Normalize((0.1307,), (0.3081,))
            ])

Your code should work without the usage of Subset.