This ambiguity is documented at least back to 1984, by IBM, the pre-eminent computer company of the time.
In 1972 IBM started selling the IBM 3333 magnetic disk drive. This product catalog [0] from 1979 shows them marketing the corresponding disks as "100 million bytes" or "200 million bytes" (3336 mdl 1 and 3336 mdl 11, respectively). By 1984, those same disks were marketed in the "IBM Input/Output Device Summary"[1] (which was intended for a customer audience) as "100MB" and "200MB"
0: (PDF page 281) "IBM 3330 DISK STORAGE" http://electronicsandbooks.com/edt/manual/Hardware/I/IBM%20w...
1: (PDF page 38, labeled page 2-7, Fig 2-4) http://electronicsandbooks.com/edt/manual/Hardware/I/IBM%20w...
Also, hats off to http://electronicsandbooks.com/ for keeping such incredible records available for the internet to browse.
-------
Edit: The below is wrong. Older experience has corrected me - there has always been ambiguity (perhaps bifurcated between CPU/OS and storage domains). "And that with such great confidence!", indeed.
-------
The article presents wishful thinking. The wish is for "kilobyte" to have one meaning. For the majority of its existence, it had only one meaning - 1024 bytes. Now it has an ambiguous meaning. People wish for an unambiguous term for 1000 bits, however that word does not exist. People also might wish that others use kibibyte any time they reference 1024 bytes, but that is also wishful thinking.
The author's wishful thinking is falsely presented as fact.
I think kilobyte was the wrong word to ever use for 1024 bytes, and I'd love to go back in time to tell computer scientists that they needed to invent a new prefix to mean "1,024" / "2^10" of something, which kilo- never meant before kilobit / kilobyte were invented. Kibi- is fine, the phonetics sound slightly silly to native English speakers, but the 'bi' indicates binary and I think that's reasonable.
I'm just not going to fool myself with wishful thinking. If, in arrogance or self-righteousness, one simply assumes that every time they see "kilobyte" it means 1,000 bytes - then they will make many, many failures. We will always have to take care to verify whether "kilobyte" means 1,000 or 1,024 bytes before implementing something which relies on that for correctness.
There was always a confusion about whether a kilobyte was 1000 or 1024 bytes. Early diskettes always used 1000, only when the 8 bit home computer era started was the 1024 convention firmly established.
Before that it made no sense to talk about kilo as 1024. Earlier computers measured space in records and words, and I guess you can see how in 1960, no one would use kilo to mean 1024 for a 13 bit computer with 40 byte records. A kiloword was, naturally, 1000 words, so why would a kilobyte be 1024?
1024 bearing near ubiquitous was only the case in the 90s or so - except for drive manufacturing and signal processing. Binary prefixes didn't invent the confusion, they were a partial solution. As you point out, while it's possible to clearly indicate binary prefixes, we have no unambiguous notation for decimal bytes.
Even worse, the 3.5" HD floppy disk format used a confusing combination of the two. Its true capacity (when formatted as FAT12) is 1,474,560 bytes. Divide that by 1024 and you get 1440KB; divide that by 1000 and you get the oft-quoted (and often printed on the disk itself) "1.44MB", which is inaccurate no matter how you look at it.
But that said, we aren't talking about sector sizes. Of course storage mediums are always going to use sector sizes of powers of two. What's being talked about here is the confusion in how to refer to the storage medium's total capacity.
Actually, that's not true.
As far as I know, IBM floppy disks always used power-of-2 sizes. The first read-write IBM floppy drives to ship to customers were part of the IBM 3740 Data Entry System (released 1973), designed as a replacement for punched cards. IBM's standard punched card format stored 80 bytes per a card, although some of their systems used a 96 byte format instead. 128 byte sectors was enough to fit either, plus some room for expansion. In their original use case, files were stored with one record/line/card per a disk sector.
However, unlike floppies, (most) IBM mainframe hard disks didn't use power-of-2 sectors. Instead, they supported variable sector sizes ("CKD" format) – when you created a file, it would be assigned one or more hard disk tracks, which then would be formatted with whatever sector size you wanted. In early systems, it was common to use 80 byte sectors, so you could store one punched card per a sector. You could even use variable length sectors, so successive sectors on the same track could be of different sizes.
There was a limit on how many bytes you could fit in a track - for an IBM 3390 mainframe hard disk (released 1989), the maximum track size is 56,664 bytes – not a power of two.
IBM mainframes historically used physical hard disks with special firmware that supported all these unusual features. Nowadays, however, they use industry standard SSDs and hard disks, with power of two sector sizes, but running special software on the SAN which makes it look like a busload of those legacy physical hard disks to the mainframe. And newer mainframe applications use a type of file (VSAM) which uses power-of-two sector sizes (512 bytes through 32KB, but 4KB is most common). So weird sector sizes is really only a thing for legacy apps (BSAM, BDAM, BPAM-sans-PDSE), and certain core system files which are stuck on that format due to backward compatibility requirements. But go back to the 1960s/1970s, non-power-of-2 sector sizes were totally mainstream on IBM mainframe hard disks.
And in that environment, 1000 bytes rather than 1024 bytes makes complete sense. However, file sizes were commonly given in allocation units of tracks/cylinders instead of bytes.