The battery part is normal. In 3 months I've rarely seen the battery gets too far from 50% in either direction (maybe 30-70%). This is intentional. The car is keeping the battery moderately charged to extend the battery life. If the charge runs high it will use the electric engine more. If it runs low it will use it less. That way it stays in the middle. So that part is perfectly normal.
The mileage is low, but I agree the cold is definitely a factor. In my short drives the gas engine spends a lot of time heating up to provide heat when it otherwise wouldn't need to. It uses the energy somewhat to charge the battery so it's not all lost. In the last week over the Xmas holiday I've been averaging in the low 40 mpgs with cold weather, mostly local shopping trips and a few highway trips. But on my first trip back to work today - a ~50 minute drive with one stop to drop my kid at daycare - I got 50 mpg again (a bit lower than the same drive in warm whether).
You don't say where you are, but much of the country right now is ~20 deg colder than normal. Here is NJ it's been highs in the 10's to around 20 where typical January high is mid/upper 30s. So it'd probably be worthwhile seeing if it improves a little when the temps go back to normal (or even a little above normal). If you see some improvement, then it's certainly reasonable to think you could add at least another 5 if not 10 mpgs in warmer weather.