This trades two different privacy risks, would you prefer that a hypothetical adversary who has successfully seized control of Signal can see which IP addresses are communicating or would you prefer if people you accept realtime calls from or make calls to learn your IP address?
You get to pick which you prefer in the Signal app preferences. [Edited to add: Specifically, if either of you insists on having Signal relay the traffic, then that's what has to happen, otherwise it is peer-to-peer.]
As with anything else involving IP addresses, you could choose to go via Tor, with all the consequences of that.
Each entity could have their own public key (also hardcoded into the client), and the client could pick one at random and then bootstrap you up to the entire P2P network, where it would find the other hardcoded identities (or N out of M of them) to confirm you were seeing the whole network.
Probably is that all of those techniques, are still centralized.
I suppose you could argue that the list itself is centralized, if there is only one list, but if the protocol is an open standard then different clients could ship with different lists.
Would you say that the web PKI is "centralized" because most browsers agree on which CAs to trust?