I introduced it in Implement `--extern-location` by jsgf · Pull Request #72603 · rust-lang/rust · GitHub in order to improve the diagnostics for
-Wunused-crate-dependencies. It was very successful at this, but I really don't like either how complex the implementation is, or even the basic idea of effectively routing external tool data through
--json unused-externs mechanism which notifies when a crate is unused is functionally the same, and a much simpler impementation. I believe it's what Cargo is (or intends?) to use. I've adapted my tooling to use this mechanism.
--extern-location was never stabilized, and as far as I know I'm the only person to have used it. I've put up PR Remove `--extern-location` and all associated code by jsgf · Pull Request #96086 · rust-lang/rust · GitHub to remove it and all the associated code.
This is your chance to save it if you really want it.