A tool chain is (surprise!) a chain of tools. An implication is that an output of one tool can be used as an input to another tool, which may or may not take special work to achieve.
Cross, as in cross-platform, cross-compilation, etc, implies that you use one box as a compilation host and another box (where box is used fairly liberally) as an execution target. So, on your compilation host, you do not build code for that box but for another system. Usually that other box is different (whether that is CPU architecture, libraries or peripherals) from the compilation host, but there are some situations in which you could compile for another box that has the same arch, etc, as there can be advantages in that.