For my current commuting, a 4km (~15-18min ride) with morning temperatures 2-5C below freezing and afternoon temps 2-5C above, I'm wearing midweight gloves, midweight top with a polyester and light fleece coat (in a wind, I can feel it), winter tights (wind resistant, not wind proof), cycling shorts, light weight skull under the helmet with a helmet cover on it, knee length wool socks and cycling shoes. After the morning commute, I'm a comfortable temperature except my fingertips and toes which are cold, sometimes a bit sweaty under the skull cap. In the afternoon, especially if it's sunny, I'll open the jacket and also regret wearing the skull cap. I just received overboots yesterday but forgot about them this morning, I'll try them tomorrow morning. The helmet cover reduces wind over my head (some will get under the helmet) but I think I'll remove it and just go with the skull cap which, with the heat my head produces, should be sufficient. My skull cap is extra thick over my ears so they're fine (it's not
this one but it's similar).