On mobile I use Etar calendar app from f-droid, and DavX to synchronise calendar data. I use syncthing, but not for calendar sync, since the caldav protocol is designed for exactly that. But on the back end, if you want to host your own calendar, I recommend Radicale. It stores its data in simple text files, and works well with syncthing. Radicale.org
Use something that supports CalDAV and use a sync app (DAVx5 for Android, for example). This will need a computer that hosts the calendar, something globally accessible running radicale or a similar caldav/carddav server. If you can't host it yourself email services typically also provide CalDAV access. GMail used to provide CalDAV endpoints, not sure if they still do. Fastmail provide CalDAV calendars, but it's not free.
save