“When you use Signal, your data is stored in encrypted form on your devices. The only information that is stored on the Signal servers for each account is the phone number you registered with, the date and time you joined the service, and the date you last logged on.”
It may not be perfect yet, but ill take the superior design approach (decentralized and self hostable) any day. The details can be improved over time. Matrix can improve its metadata handling, signal will never be decentralized and self hostable.
On top of that, if you get your friends and family on your instance like I have, the metadata isnt even a problem since everything is contained on my server anyway.