On Android I just started using kiwi browser a month or two ago it’s for android only but it’s chromium based and supports extensions which brings ublock and others to mobile.
https://play.google.com/store/apps/details?id=com.kiwibrowser.browser
To be fair, the client they provide to make bridging more accessible is proprietary, however you can fire up a fresh copy of element and connect it if you want and just use the text interface.
The clients are closed so that they have something to sell and profit. Not everyone can afford to give their time away for free.
I have my own matrix server that I primarily use like beeper and bridge all my chats together. Even using some of their bridges, it’s been pretty reliable for years.
I know that a few people are hating on the closed source client, but that feels unfair to me. They provide lots of open code in the form of bridges which is really the meat of the offering. Their client just makes using the bridges easier for the lay person. The bridges are super easy to use without it, invite the bridge bot to a chat room, type login and do what it says, then type login-matrix and your pretty much done.
The I suspect that the same people who are displeased about the closed client also like using tailscale which is generally pretty popular but has closed source clients on Windows and Mac as well as the server (though all support the open source headscale server)
I’m ready for tf2 on a pdf file