What you want is not possible with SQLite.
Assuming Syncthing did its thing perfectly with whatever workaround you put in place using touch
or whatnot, SQLite doesn’t support someone else (Syncthing) just replacing the database file while it’s open. The only way this can work is if you can guarantee your database-using program is open in at most one location at a time – and then sync should work out of the box as well since the modification time will be set on close.
If you want your program running in two locations at once with a shared database you need to either use an external database or implement some sort of sync protocol in the program itself.