Want to give you guys an update - I drove the car for 15 miles round trips daily for 1 week, never needed to charge battery with a charger, no problem at all, and no 'low battery' message popped up. This included driving in moderate traffic (not heavy traffic though, as I've yet to experience that).
The only 'driving behaviour' I modified was - before I start ignition I leave the headlights to off position, and sat nav unplugged (dashcam still plugged in). When I get stuck in slow traffic, I unplug the sat nav charger cable, and switch off heating fan if I feel warm enough. Maybe this helped?
After 1 week daily trips (30 miles per day), I left the car parked for 5 days, and night temperature dropped to sub zero for these 5 days. Then started the car on day 6 on a morning when everything was iced over - again no problem and ignition started really quickly. When I had the old battery, it tended to show 'low battery' warning on cold mornings.
So all seems to point to the most plausible theory - that the problem was due to 1) low battery voltage to start with, 2) all appliances plugged in, including headlight and fan, and 3) heavy traffic when the alternator struggled to keep up with amp demand at low rpm - all three causes combined over a period of 30~60mins caused the car to shut down electronics to preserve minimal battery voltage for running CEM/ECM/TCM.
I disagree the only job of the battery is to start the car. It serves another important purpose - as back up electricity supply when alternator does not generate sufficient charge in low rpm.