I went from cloud to local smb shares to nextcloud to seafile. Really happy with the latter. Works, no bloat, versioning and some file sharing. The pro version is free with 3 or less usernames. I use the cli client to mount the libraries into folders and share that with smb + subst X: into the root directory on laptops for family. Borgbackup of that offsite for backup.
I've read good things about Seafile and have considered setting it up on my Homelab... though when I looked at the documentation, it too seemed quite large and I worried it wouldn't be the lightweight solution I'm looking for.
It’s not selective sync, but you can get something similar with Ignore Files [1] in SynchThing. This functionality can also be configured via the webGUI and within apps such as MobiusSync [2].
I think you could replace Nextcloud's syncing and file access use cases with Syncthing and Copyparty respectively. IMO the biggest downside is that Copyparty's UX is... somewhat obtuse. It's super fast and functional, though.
Radicale is a good calendar replacement. I'd rather have single-function apps at this point.