Instead of using a relative path outside the package directory, you can create a symlink inside the package that refers to the file outside, and include_bytes the symlink. Then when cargo package finds the symlink it will automatically substitute a copy of the file.
I don't know, but IMO that is a cleaner way. The package internals only depend on paths from the root. If what you tried had worked, what would the package look like on the file system where it is unarchived and used?
Ah, are you perhaps thinking of packaging working "bundler" style, rewriting the content of the files? It does not. The source code, including the include_bytes, is unmodified (the only file that gets modified is Cargo.toml), so a file must exist at the path it uses.