Unison is very robust, much faster (Syncthing extremely slower than unison) and actually very sophisticated and optimized. It does compare file chunk hashes etc. But it simply relies on plain old ssh and has no support for device discovery, dynamic IPs and relays.
Actually, many issues mention unison as an example. https://github.com/syncthing/syncthing/issues?utf8=✓&q=is%3Aissue+unison
Couldn’t syncthing manage the connections between the devices and optionally call unison (CLI) as a backend to do the syncing?