Worth adding a common cause that fits your description exactly and is not a fault at all: a battery that was deeply discharged once and never properly recharged.
From the other thread on jump starts: driving does not fully recharge a flat battery, it only gets it most of the way. A battery that went flat, got jumped, and was topped up by short journeys will sit at 11.5-12.0V indefinitely and start the car on warm afternoons but not cold mornings. Which is precisely the pattern you describe.
So before condemning it, put it on a proper charger overnight and then do the disconnected test. If it holds 12.6 the next morning, the battery was never the problem: the recharging was.
That sequence also costs nothing and it saves a battery quite often.