Any shoes bought for winter (below freezing) cycling should be several sizes larger than a rider's normal shoe size. Stuffing more layers inside a shoe/boot that is a close fit actually makes keeping your feet warm harder since it will tend to restrict circulation. This is a very common mistake.
I normally wear a size 44, but my winter sets of shoes/boots are 45 and 50. The extra room translates to extra space for insulation (socks). If possible, you should buy winter shoes/boots in a wide size as well, so you are not just getting more room in the toe box, but throughout the shoe.
I recommend a vapor barrier sock or other method (plastic bag) to keep your insulation dry and effective.
If you have all that going on and still need more warmth, some sort or overshoe is a next step. I have found that the over booties designed for cross country skis usually work fairly well with cycling shoes and and generally relatively cheap.