Currently, the --robot implementation will only resolve dependencies via a subtoolchain if the matching easyconfig file is available in the robot search path (even if the corresponding module is available already).
However, I don't think there's a strict need for it, it should suffice that just the easyconfigs that define the toolchain are available, since that's sufficient to figure out the subtoolchains to consider (w.r.t. versions).
Once the subtoolchains are known, available modules can be sufficient to resolve a dependency via a subtoolchain (unless there are other aspects that require the easyconfigs to be available, e.g. the use of HierarchicalMNS which requires an easyconfig file to determine the full module name).
Thoughts @ocaisa?