Towards generalisation in machine learning under subpopulation shifts: active, passive, and spectral bias perspectives