The cloudflare concerns aren’t an issue as long as you run your own instance, or join one that doesn’t use cloudflare. There’s nothing requiring cloudflare built into the software or the protocol.
Yeah, but the vast majority of non-technical users don’t bother to change homeservers, or even clients, so it could affect them. What puzzles me is why the Matrix/Element team chose Cloudflare for app.element.io, (matrix.org uses LetsEncrypt), when CF aims to centralize the web and is a privacy nightmare. It’s more of an ethics thing, in my opinon. But sure, like I mentioned too, could be solved by switching homeservers/clients but the vast majority of users won’t bother.
This is a tricky question that can’t be answered on computers either even if you run Linux since the package manager can be compromised etc. In case of phones, best bet would be GrapheneOS with verified boot so there isn’t a chance it’d get infected.