Anyway Signal is itself pernicious by being tied to a phone number and to Google Play services, and by being very choosy about who gets ports.
I had high hopes for Matrix, once they got E2EE, but they have flubbed that by requiring a very heavyweight bounce server that won't fit on (e.g.) your typical home router or super-cheap cloud VM. Matrix should enable a place to keep your message archive independent of the bounce server, and allow gatewaying a non-public storage service via the lightweight bounce service.
But Element.io's business model is tied to heavy-weight bounce service.