Toolchain resolution is a little complicated. Details at Toolchain Resolution Implementation Details

Key point: "[T]he dependency from a target to a toolchain uses a special configuration that forces the execution platform to be the same for both. Despite the name "toolchain transition", this is not implemented as a configuration transition…​"

This seems to be a little more up to date: Toolchain resolution

CLI options ` --extra_execution_platforms` and --host_platform do not have the same effect.

exec_compatible_with on rules:

"A list of constraint_values that must be present in the execution platform for this target. This is in addition to any constraints already set by the rule type. Constraints are used to restrict the list of available execution platforms."