Usually, an OS’s internal file watcher doesn’t or cannot watch file changes on a remote filesystem (would also make for too much network overhead).
You might be able to work around this on Linux by mounting the remote filesystem into a local folder (like with NFS), so it appears to the OS as “local”. This usually won’t work when using inferior network protocols like smb: shares.
Then again, file watching resources are rather costly, and thus minimized in the standard install of a distro, often to only 4096 or 8192. So if you have 100,000 files to watch, it simply won’t work, except if you increase the number of inotify user watches (I use 524,288 here). This will affect performance.
So the best bet might be to have your vault local and just sync it to your NAS.