SyncDelegate availability on non-Wi-Fi devices

While adding Wi-Fi support to my app, I ran into a small but confusing quirk.

Some devices that don’t have Wi-Fi still expose the SyncDelegate class, for example the fenix 7X Pro Solar Edition or the Forerunner 165. Others don’t expose it at all, like the Forerunner 255 or the Edge MTB. This is actually documented correctly in the API spec:
https://developer.garmin.com/connect-iq/api-docs/Toybox/Communications/SyncDelegate.html

In my case this caused a crash, because I had a method inside SyncDelegate that other parts of the app used to check whether a sync was currently running. On devices where SyncDelegate isn’t available, that obviously doesn’t end well.

Once I understood what was going on, the fix was easy enough: just check whether SyncDelegate is available before using it.

What I’m still wondering about is why this class exists on some non-Wi-Fi devices but not on others. From the outside it feels a bit arbitrary. Am I missing some architectural detail here?

Curious to hear your thoughts.