pkg_tar has some code to carry-over executable modes from the underlying files, but this is only active when mode = None, and the above line results in mode always being set explicitly to a default value.
There is no other UI to allow control over executable mode for specific files in tree artifacts.
When we add a tree to pkg_tar via pkg_files, some files being executable and some not, the executable file modes are lost due to this line: https://github.com/bazelbuild/rules_pkg/blob/a56b1d9d339b70c01f92db74d62f4973a789f0fd/pkg/mappings.bzl#L258
pkg_tar has some code to carry-over executable modes from the underlying files, but this is only active when mode = None, and the above line results in mode always being set explicitly to a default value.
There is no other UI to allow control over executable mode for specific files in tree artifacts.