Started using org-mode a few months ago.
I keep my notes and todo list in a self-hosted git repository.
On desktop I use Magit to push/pull changes.
On Android I cloned the repository in Termux and pointed Orgzly to it.
This wasn't absolutely trivial, can provide details if needed.
Also created some convenience scripts for git operations (commit-and-push, pull, check status).
Now I can push/pull changes with singe-letter commands in Termux.
I find the friction to be low enough.
Using git is also very convenient to resolve any conflicts in case I forget to push or pull some changes.
My current setup is also slightly dissatisfying in that regard. What's nice (or rather a consolation) about orgzly - the mobile app I use - is that upon conflict, it explicitly offers to either choose the remote or the local version. At first I was worried it would simply attempt to always overwrite based on the local version.
It combines even more nicely with Syncthing, which creates a copy on conflict, which can then easily be merged with ediff-files once I get back to a computer.
Just log into a remote shell and execute emacs-org-mode from there. Like, remote shells are free 2022, no? I agree that if all the devices can't generalize to one source then it isn't as rewarding.
Have you tried using Syncthing? It's open source, free as in beer, and should fit your usecase well. I'm using it for my Obsidian notes, and it's pretty much frictionless.
On desktop I use Magit to push/pull changes.
On Android I cloned the repository in Termux and pointed Orgzly to it. This wasn't absolutely trivial, can provide details if needed. Also created some convenience scripts for git operations (commit-and-push, pull, check status). Now I can push/pull changes with singe-letter commands in Termux.
I find the friction to be low enough. Using git is also very convenient to resolve any conflicts in case I forget to push or pull some changes.