Thank you for sharing this. I have been grappling with this bug (and yes, it is absolutely a bug) ever since iTunes 12.2 was released. Syncing my iPhone 6 (iOS 9.3.1) with iTunes (12.3.3) on my Windows 10 PC results in exactly the problem you've described: all unchecked songs are deleted from playlists in iTunes that exist on the iPhone. I'm puzzled that there aren't more reports of this issue, but perhaps it's only experienced by users with large enough libraries to actually need to check/uncheck tracks prior to syncing their devices.
This is absolutely a relatively new problem (though I'm not certain whether it was caused by an update on the iTunes side or the iOS side). I have been a very active user of iTunes in conjunction with a multitude of i-devices for over 10 years and have been consistently using the check/uncheck feature in iTunes to manage music synchronization. Until iTunes 12.2, I never saw this problem.
In order for synchronization to work, the i-device and iTunes need to come to an agreement as to which one has the latest version of a given playlist. This is fundamental to any kind of content synchronization framework (contacts, calendars, notes, etc). For example, in the past if you were to make an update to one of your playlists on your mobile device, the next time you synced with iTunes iTunes would recognize that the version on the iPhone had been updated more recently, and would overwrite its own version with the iPhone's version. What seems to be happening here is that even if *no* changes are made to the playlists on the iPhone side, when iTunes looks at them it somehow comes to the conclusion that they are newer and overwrites its own copies. I think this is the gist of it, although I wonder if the problem is actually slightly more complex than that, because what if in the past you were to add songs to a playlist on the fly on your mobile device and then sync later on? Would the process then have also deleted unchecked songs from iTunes' local playlists? I'm not sure about this. I tried to roll back to an earlier version of iTunes to test this (and to verify that the problem was indeed introduced in iTunes 12.2), however I got an error message that my iTunes library file was not compatible with earlier versions of iTunes.
I'd love to hear if anyone else has gotten more feedback from Apple on this issue (or found workarounds on their own, other than simply avoiding this increasingly awful piece of software).