Also, it's worth noting that the Signal team didn't work on WhatsApp. It was WhatsApp that chose to integrate the Signal protocol, which Open Whisper Systems/The Signal Foundation open-sourced their protocol.
If you're looking for a technology to run a service focused on privacy and security one of the things to consider is the amount of use and thus testing something gets. In case of Java that's testing in enterprise setting.
An obvious reason why any project picks a more popular language over an obscure language is the number of engineers comfortable with that language.
Probably because they started out using ejabberd, a very mature and widely deployed XMPP implementation.
It is common for a JVM app on a single box to process >100K messages a second with an eventing system. It is not as common, but relatively normal, to process >1M per node.
With the cost of hardware, a company is usually "throwing around" money on maintainability of a much less supported runtime. Engineering time of something like JVM vs Erlang is much more substantial of a cost.
So maintainability might be up for discussion...
Java have a high ceiling for writing high performance systems but in practice it is easy to make a massive ball of mug that performs extremely poorly. In many cases it is easier to write fast erlang/elxir/node application.
WhatsApp managed to scaled to 500M user with only dozens of Servers that were using 2010 Tech.
Scaling issues in FreeBSD, Linux and BEAM VM were all upstreamed.
When people say something wont Scale, it implies Scaling "x" cost more than "y". In which case I dont doubt Erlang is better here.
I seriously doubt Engineers were an issue. I mean they had a team of 3x when they reached 500M user. That is including Engineers on both iOS and Android Clients.