I know what you mean about not knowing what to wear under long cardigans! I tend to wear them over dresses instead of a jacket. Or just a long sleeved T, or short T with a thermal top or something under..depending on level of freezing-ness. I get confused with coats, as they either feel too bulky, or stick out under the bottom of the coat... I usually end up using them instead of a coat, but that does limit their usefulness. That faces T is great though, but I know it seems silly to buy something specifically for something that should be such a versatile item!
I think sainsburys is on the large side of true-to-size... sort of an m and s sizing rather than topshop! The tops seem more generous than the bottoms to me, but that could just be that my bottom is a bit more generous than it should be... (they used to be enormous. I've got size 8 tops from a few years ago that still fit me - but they've calmed down a bit since then.) I didn't see the pinafore in my store, but they had a navy cord pinafore that looked nice and a good weight cord.