I was looking for seamless sync between multiple desktops and phones, but nothing fit the bill. Tried all the cloud providers, syncthing, etc (Syncthing was great though). I want to have my calendar, my password manager db, my desktop config, my dev files, and my personal files accessible everywhere.
In the end I bought a Synology NAS and placed it at home.
Though SynologyDrive does have some issues, it works well on every OS I've tested including Android, and does have decent blacklisting features. I use synology drive for all my personal files and anything that's not under version control (git)
I installed gitea and use that to sync my source code. I just need to write a small command line utility that gives me easy access to the repos locally.
Using a password manager with webdav support (I use Enpass and I heartily recommend it) makes password sync easy, since Synology natively supports webdav.
For Contacts and Calendar you also have to use a client that supports CalDAV & CardAV, and I haven't found a good unified client for Tasks, CalDAV and WebDAV, so you'll likely have a mishmash of applications on different OSes, but it works well enough.
Other things I have installed are a local plex server and automated backups.
In the end it is a good solution if you like tinkering and are willing to try to build out something that fits your needs.
Syncthing is amazing but I remember I had issues with the Android client and that's why I tried the NAS route. Maybe the Iphone client is better.
I've heard great things about NextCloud, SeaFile and OwnCloud, and you could run those in a VPS if your traffic is light.