How would this other method make it hard/expensive/infeasible for a malicious company to produce 100M accounts to cause problems with spamming, DoS, and related issues? Phone numbers are finite, cheap, but not zero cost. If sending a spam email cost $0.01 much of spam would disappear.
How would this other method protect a user's social network without having to upload that meta data in signal? Currently this is handled by a user's address book hosted outside of signal. How many users would you lose if you required some key exchange in person?
Sure it's easy to think about generating a key pair, uploading the public key to a DHT, and allow people to communicate directly without a central server. However that has a fair number of practical issues that would be worse for the average signal user, not the least of which would be much worse battery life and bandwidth charges.