No you don’t need to publish them when developing locally… That is the whole point when “creating new” extension in the src/my-extension for example it will create a new package.json and install the extension locally in node_modules and symlink it to the src
so actually it is pretty much running npm install ./src/my-extension
The paths in src in copyFiles are also relative to your extension root, so you shouldn’t add any ../src in there. And the dst are relative to your site root.