You say "almost all software developed today for the server land runs on both x86 and AArch." What software are you talking about? While you can get Windows Server or SLES to run on ARM, a lot of applications won't. For example, SQL Server & SAP HANA don't support ARM so you still need x86 servers to run them and those are two widely used Databases. Maybe the application server that attaches to the DB will work, but it doesn't make sense to have the split in uArch in the data center. VMware only supports ARM as a fling. That means it is only for evaluation and not production use and using it means you won't get support from VMware if there is an issue. That is just an example of 3 HUGE data center applications that will not run on ARM. Until the huge software companies support ARM across the board ARM will be nothing more than a niche in the server world.
In terms of power use between ARM and x86 we actually don't know if ARM is more efficient. Since things like Graviton2 are custom chips, the TDP isn't released to the public.
Nobody runs Windows Server in the cloud, no one. Even local data centers, hardly anyone runs Window Sever anymore, old Electric and Water Utilities is about it, same with SQL sever. Almost everyone is moving to Kubernetes which is Linux. As for software that runs on ARM, here is a small list. Elastic Search, Oracle DB, My SQL, Radius, Kubernetes, Docker, Nginx, VMWares EXSi has supported ARM for a very long time, if you are talking about VM Ware Desktop, no one uses that on the sever side. As for programming languages, Node, Java, .Net, Go, Rust, Kotlin all support running under ARM. This means your of your popular development languages for server side development can be built with ARM, in fact, it so simple as long as you have a Docker Build File for any of these languages it's a simple argument passed to the Docker Build command to build for both x86/aarch. Again, go to Docker Hub and look for yourself.
So basically any software that is used in a modern stack (aka cloud native
https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/definition). If your stack is 20 years old then maybe they still use Windows Server, SQL Server and god forbid anything made by SAP. Here is an awesome line direct from Microsoft in the Cloud Native definition
"Containers support both Linux and Windows workloads. The Azure cloud openly embraces both. Interestingly, it's Linux, not Windows Server, that has become the more popular operating system in Azure.".