Resolved. When I iterate over a dataloader, it calls the Subset's getitems, and not getitem (the one which I had overriden). And the former call's the dataset's getitem instead of the Subset's.
getitems
getitem