Looking at the model https://github.com/pytorch/vision/blob/master/torchvision/models/densenet.py 287 It looks like they assigned all of the conv layers to self.features and all of the and all of the classification layers to self.classifier.
In your case, model.features should give you the feature extractor that you want but not all of the torchvision models follow the same api. In the future you will just have to look at the model in that repo and figure out where the last conv layer is.