I have a (self-built) arm64 bootstrap compiler based on 1.16beta1, where $GOROOT_BOOTSTRAP/bin/go is an arm64 binary. When I use that with $GOROOT/src/make.bash, the resulting $GOROOT/bin/go binary is x86_64, and produces darwin/amd64 binaries by default. (You need to use GOARCH=arm64 to produce darwin/arm64 binaries using it.) Make.bash also installs a darwin/arm64 binary into $GOROOT/bin/darwin_arm64/go which produces darwin/arm64 binaries by default. See the build log below.
I was expecting $GOROOT/bin/go to be an arm64 binary in this case, and for it to produce darwin/arm64 builds by default. It looks like $GOROOT/src/make.bash assumes GOHOSTARCH=amd64...? (All commands were run in a terminal where `arch` reports arm64.)
m1:src jpap ((go1.16beta1))$ GOROOT_BOOTSTRAP=$HOME/go GOARCH=arm64 GOOS=darwin ./bootstrap.bash
#### Copying to ../../go-darwin-arm64-bootstrap
#### Cleaning ../../go-darwin-arm64-bootstrap
Removing VERSION.cache
Removing bin/
Removing misc/git/
Removing pkg/darwin_386/
Removing pkg/darwin_amd64/
Removing pkg/darwin_arm64/
Removing pkg/include/
Removing pkg/obj/
Removing pkg/tool/
Removing src/cmd/cgo/zdefaultcc.go
Removing src/cmd/go/internal/cfg/zdefaultcc.go
Removing src/cmd/go/internal/cfg/zosarch.go
Removing src/cmd/go/testdata/bin/
Removing src/cmd/internal/objabi/zbootstrap.go
Removing src/go/build/zcgo.go
Removing src/runtime/internal/sys/zversion.go
#### Building ../../go-darwin-arm64-bootstrap
Building Go cmd/dist using $HOME/go. (go1.15.6 darwin/amd64)
Building Go toolchain1 using $HOME/go.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for host, darwin/amd64.
Building packages and commands for target, darwin/arm64.
----
Building tbz.
m1:src jpap ((go1.16beta1))$ GOROOT_BOOTSTRAP=$(pwd)/../../go-darwin-arm64-bootstrap GOARCH=arm64 GOOS=darwin ./make.bash
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for host, darwin/amd64.
Building packages and commands for target, darwin/arm64.
---
m1:src jpap ((go1.16beta1))$