what do you want to do in your build script? cargo build scripts are not supposed to inspect the crates' build artifacts, because build scripts run before the crates are compiled. if build scripts want to generate some artifacts for the rust code, it should use OUT_DIR.
TKS, Yes. Build script genenrates or downloads some resources, such as images, jsons. The crates build binary artifacts depends on these resources to run.
If I want to enable some unstable features by pass -Z build-std=std, it requires to pass --target config, thus the build script has no idea about the crates' binary artifacts placed.
If those artifacts are needed at compile time (because they will be compiled into the final binary) then as @nerditation said they should go into OUT_DIR.
If they are required at runtime you will need some external tooling to bundle it up anyway, because cargo is not good at that (e.g. cargo install will build a crate and copy that binary into ~/.cargo/bin and only the binary, additional resources are not considered).