There are some different way you can achieve many of these. There are like the cloud collaboration suits, and syncthing way
I want to sync my calendars and contacts
For this you can have something like nextcloud or it's alternatives, or syncthing with decsync, or a separate caldav service
I want to download media like TV shows and movies. (And music, too). “Of course, only legal obtained from the internet cough.”
I personally use jellyfin + transmission. I'm still trying to set up *arr suite, but it's not working, then I could use something like jellyseer. But transmission is working well anyway
Ugh, Nextcloud. It is always touted but it is such a pain to set up properly, and then it is slow as molasses.
I've tried, and I've tried the similar suite from Synology, but in the end always come back to the Google system - much as I hate to admit it, Google "just works".
I'm also loving Nextcloud for a simple way to do a bunch of simple things. Installing with AIO wasn't so hard (though I plan to migrate to NixOS someday), and it introduces me to a bunch of things I can do (such as making links for shared folders with random people, no login required for them) without my having to learn a ton different specialised things.
Most of what I want to do I feel in principle there should be a better way (e.g. syncthing plus a web-frontend file server) but there's always a weak point somewhere.
Especially that Nextcloud had decent apps for both Android and iPhone.
True, it's a bit slow, takes most of my low-budget VPS's memory, and doesn't always work the way I'd like etc. but it's great for me for now.
Google oppice apps are not fast, that's true, but they are blazingly fast compared against Nextcloud or Synology. Only Office 365 can keep up (and is functionally better) - but eh, you know.
Ugh, Nextcloud. It is always touted but it is such a pain to set up properly,
The problem is mainly maintenance - they do YOLO style database handling, so you can't miss any release or you have fun upgrading. Plus you need to kick it after installing to upgrade the databases.
Other services (like SoGO) have proper upgrade scripts, and automatically adjust the database schema from pretty much any version on first start after upgrading.