Ok after much trial and error... i figured out my batch script needs to be inside the folder i wish to sync...
No it does not have to.
I do not get the problem you describe with a script like:
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="C:\writable\path\to\log\WinSCP.log" /ini=nul ^
"open sftp://username:firstname.lastname@example.org/ -hostkey=""ssh-rsa xx:xx""" ^
"synchronize remote C:\Blah-blah /to_blah" ^
It works correctly (as expected).
Show us your current exact batch file.