I learned that it’s common to do dimensionality reduction before clustering.
But, is there any situation that it is better to do clustering first, and then do dimensionality reduction?
Clustering generally depends on some sort of distance measure. Points near each other are in the same cluster; points far apart are in different clusters. But in high dimensional spaces, distance measures do not work very well. There is a long and excellent discussion of that Here. You reduce the number of dimensions first so that your distance metric will make sense.