<i>Nobody wanted to pay more for cores with no software support.</i>
This is just the general backwardness of many of the SOC providers. ARMv8 has a 32-bit compatibility mode (aarch32) designed to run 32-bit software. So any core produced would have run any of the existing android/etc OS's and applications just fine with a path forward to 64-bit. Since all the major players had their own core teams they could have been tasked with making armv8 cores, but instead were doing the minimum required. Its only after they got broadsided by apple did they scramble to license ARM's cortex designs since they didn't have any of their own.
edit: Just to add to this, despite the article, ARM was doing just fine in the smartphone market selling a 32-bit architecture against mips & x86 which had a 64-bit architectures. The articles comments about the additional registers fail to note that 32-bit arm had a pretty generous register layout (16 GPRs) and wasn't at all register starved in relation to something like 32-bit x86. Similarly with NEON/etc. QC/etc were right that 64-bit didn't bring much to the smartphone market at that time except for a path forward. To this day there are a lot of applications that fail to gain any benefit from going to 32-bit which is why x32 and the arm64 ilp32 ABI exist.