Personally, I will always have junk in my repo that I will forget to delete before packaging. I would prefer a whitelist strategy over blacklist. It could default to using the result of git ls-files (or the default cargo structure if git is not used).
As a somewhat supporting factor, I almost pushed out my target directory as part of the build. My .gitignore directory has /target/ and I was in a nested package.