Reproducing the final solution thanks to @tobiashieta and https://github.com/jonhoo:
# Stage 1
cmake3 --build "$BUILD_DIR" --target clang-bootstrap-deps
# Stage 2 Prep
HOST_TARGET=$("$BUILD_DIR"/bin/llvm-config --host-target)
STAGE1_LIB="$BUILD_DIR/lib"
STAGE2_LIB="$BUILD_DIR/tools/clang/stage2-bins/lib"
#Stage 2
LDFLAGS="-L$STAGE2_LIB/$HOST_TARGET -L$STAGE2_LIB -L$STAGE1_LIB/$HOST_TARGET -L$STAGE1_LIB" \
LD_LIBRARY_PATH="$STAGE2_LIB/$HOST_TARGET:$STAGE2_LIB:$STAGE1_LIB/$HOST_TARGET:$STAGE1_LIB" \
cmake3 --build "$BUILD_DIR" --target stage2
This code also accounts for the need for fix to RUNPATH not regard LLVM_ENABLE_PER_TARGET_RUNTIME_DIR · Issue #54955 · llvm/llvm-project · GitHub