That's correct, when listing a folder based on the folder's path, if the path changes the folder will no longer be found.
Здравко's recommendation of using the folder's 'id' instead of the path is a good one. That is, when calling /2/files/list_folder, supply the folder's id (which starts with "id:") as the 'path' parameter. The id doesn't change when the folder is moved/renamed. (You may get a 'reset' error from /2/files/list_folder/continue in that case, but you can then easily start from /2/files/list_folder again with the same id.)
Alternatively, you could use /2/files/list_folder[/continue] for the folder's parent folder, whatever that may be, to keep track of changes to that parent folder's contents. (Note: the "path" value for the root folder itself is the empty string: "")
And yes, webhooks would only tell you when something changed, not what changed, so you would still need to use one of the above methods.