Automatic rescans run after last scan (manual or automatic), but they do not happen at exactly the configured interval. It mainly depends on how long the last scan took. So if you set it to 1 day and the rescan takes 1 hour, the next automatic rescan is shifted by that time.
Syncthing always does a rescan when it is started so that no changes are missed. That should be good for you.
You can try running Syncthing as service: https://docs.syncthing.net/users/autostart.html
If you want a rescan at a specific time, you can use a batch file with a single line that does the manual rescan for you. see https://docs.syncthing.net/rest/db-scan-post.html