It doesn't sync everything (open tabs, terminal history, browser cookies, etc.) but gets the most critical things.
The main benefit to me of this approach is that it's pretty much login and forget. I don't have to worry about remembering to start a manual sync or waiting for it to finish. It's most of what I need for minimal effort.
I got to stress-test this a few weeks ago, when I stupidly left my laptop at my dad's house, three-ish hours away. It took me far less time to get myself set up and fully-productive on another machine than it would have to even make the one-way drive.
My only real frustration so far: installing all of the SublimeText packages I've come to rely on. Once I get my my other laptop back they (or at least their configs) are going into git as well.
I'm not dismissing you I just think you need to come up with a more cohesive definition of synchronization of blank. Do you want your terminals to have their histories synchronized? Do you want the entire hard drives to be the same? Do you want your web browsers settings to be the same?
You could even use git for something like this. And you could just pull repos locally for projects that you're working on and just synchronize them between computers that way and just host a local gittea or something.
I use an external TB3 m.2 SSD for everything work related. When going away when I may/will need to work, I unplug the drive from my desktop and put it in my bag with my laptop.
The drive (and tb3) is fast enough to run multiple VMs from it without a problem.
For smaller things I use regular sync tools (ie browser bookmarks in iCloud; IDE settings sync via JetBrains).
Chezmoi is good for imperative dotfiles too—I keep those in a Git repository too.
(i am not affiliated with them, just a happy customer)
If you were exclusively working in MS Office, OneDrive could work, but with anything else it gets really frustrating as it syncs when it feels like it - you can't force it.