Thanks for reaching out. Let me give you a hand with those questions.
Yes, this would be the best practice.
It would be the same concept, yes. Do know that the only way Octopus can work with .zip files is if you push them to the built-in repository as mentioned in our docs.
As for where do I set a release with zip file ?, its the same as if you were using a .nupkg file. When you have already pushed the package to the built-in repository, go to the step in your deployment process where you'll be deploying the package and in the Package ID field start typing the name of your package as shown in the attached GIF. It should show up regardless if its a .zip or .nupkg