So we already have an effective way to store heat which can work for decades without servicing and is also cheap to produce (in terms of money and energy consumption).
I actually don't know the answer. I'm just thinking that there must be more to it, if the answer was as simple as "just heat water".
With hot water tanks, they are unfortunately pretty badly insulated as well, with some of them loosing heat very quickly. Depending on how you plan on using that water, you also have to make sure the temperature never dips below ~60C to avoid legionella from spreading.
I actually think that heating your home slighly higher than you‘d usually do is the simplest and most effective approach, assuming it is properly insulated. Just rise the target temp for 1-2C when the energy is cheap and reset it once it isn‘t. Probably not as efficient, but extremely simple to implement.
They both are rated for annual kWH usage less than the US EPA yellow label can display (for their category of tanked water heaters, i.e. competing mostly with resistive heating models).
Annually water heating is about 3% of my energy consumption.