The bigger question will be software compatibility.
What is the one thing that, time and time again, kept resurrecting x86's rotten zombie corpse?
Compatibility.
Remember when Intel tried to ease developers into protected mode with the 286? Yeah, no one f'kin used it, it was just an improved 8086.
Remember when Intel tried to push developers into a new instruction set (i432, Itanium) that could potentially be more efficient or powerful or faster? (Though AFAIK it turned out they really weren't, after all?) Remember how they lost billions each time?
Change is hard, especially when there's a billion existing products out there, a negligible fraction of which are currently under support and could conceivably be ported. (Not that all billion are currently in use; but support is still a significant subset of in-use.)
So what about support?
Are enough existing products available in ARM, or trivial to port to ARM? Are enough suppliers ready to support ARM for future and current customers?
The modest, but persistent, use of high level, JIT'd languages does show promise in this regard. Anything that runs Java[/Script], C#, Python, PHP, etc. should be trivial, or almost trivial, to target. At least down to issues of OS compatibility, which if the OS has multiple targets all using a fully compatible API, this should be trivial. The only restriction being, whether a given language supports all its features on a given platform. Which I think is generally a pretty strong priority?
What about high performance native code? There should be very little ASM out in the wild, I would expect. Perhaps the core parts of device drivers? Drivers of course need to be similarly ported between both OS and CPU, another good point. Most code is targeting an [OS] API, not an architecture, and between ARM64 and x64, I'm not aware of any gross omissions between the two (this isn't an assertion on my part, as I'm very unfamiliar with both; rather, take this as an invitation to provide examples). Eh, probably instruction set extensions are weird? But that's nothing the compiler can't fix.
Tim