I've never disputed that this was the convention for RAM. But it never has been for harddrives.
To borrow your C64 example, the most popular harddrives to add to a C64 were Lt.Kernal(Fiscal) drives. The first model, sold as 10MB, was 256 bytes per sector, 32 sectors per track, for 1224 tracks. Giving us a raw capacity of 10,027,008 bytes - 10MB or 9.5MiB.
You're talking about it being a convention in home computers when the vast, vast majority of them simply didn't have harddrives - While the machines that did have harddrives were already using base10 (an RK05 was 1.2Mwords - 1,200,000 words. Twice the RK04's 600kwords).
The convention has always been base2 for RAM and base10 for storage. And yes, it's always caused confusion. Just as the convention has always been bits/sec instead of bytes/sec for linespeed, even though this also causes confusion to this day.
The awkward truth is that none of this was ever intended to be consistent. From the day we started selling computers to people who weren't 100% sure what these numbers meant, it's always been "close enough".