Echoing myself from the issue, the code we have for setting and unsetting the hidden bit when compiled for a Unixy OS is a no-op.
I think the blame lies elsewhere. What Syncthing does though is create every file as something like .filename.txt.syncthing.tmp
and then rename it to filename.txt
or whatever. Perhaps something else is interacting oddly with the file being created as a dotfile.
It seems like this may be a Samba feature from just Googling the issue:
OK, so it seems that samba additionally sets the H attribute in the stored DOS attributes when creating a dot file and having set "hide dot files = yes".
([Samba] access denied with "hide dot files = Yes")
If it does that, and forgets to clear it when the file is renamed, that would result in what you see.