This is the cause:
Projects will always be checked when their windows are brought to the
foreground. This check is mainly a protection for those cases where the
foremost window on your computer is the very same project you are editing
with your mobile device.
This is a bigger change from v3.0.3 (which I was running until the weekend when I upgraded to 3.1.3). There this mis-guided modification timestamp updating was only done the first time that Scrivener was brought to the front in a 24 hour period. Either way this "check" goes too far.
This behaviour plays havoc with bandwidth usage because projects that have not been changed have to be synced with iOS! It is the very opposite of behaviour reported as "fixed" in the release notes for v3.1.1
f a project is opened and closed without any changes being made, the modification date in the Finder should no longer be updated to today’s date.
Scrivener v2 for OSX did none of this. Only projects that had been modified were marked under iOS as needing to be synched.