Normally when you run cargo doc all dependencies are documented first and then rustdoc can find the existing documentationbfor the dependencies when documenting the current crate. This allows it to for example edit this documentation to list implementations of traits that are part of the current crate, but are either for traits or types defined in those dependencies. On docs.rs every crate is documented in isolation without it's dependencies being documented in the same documentation directory, this means that rustdoc doesn't have access to documentation for dependencies and as such can't edit their documentation or adapt documentation of the current crate accordingly. It is possible that in this case rustdoc chooses to expand BoxFuture due to not being able to access the documentation for the crate defining BoxFuture.
It is possible that in this case rustdoc chooses to expand BoxFuture due to not being able to access the documentation for the crate defining BoxFuture.
I see the idea here, but that makes type definitions much more complex than how they have been written by the crate author. I don't see the benefit in terms of documentation (since this is the goal).
It comes from a crate which has an html-root-url to link to though, you can see many other instances of crates linking across to different crates on docs.rs. In general I would expect there to be no difference in rendering whether the other crate is locally documented (like cargo doc does by default) or remotely linked (like docs.rs, or cargo doc --no-deps -Zrustdoc-map).
AFAIK rustdoc always inlines external type aliases, even if you have an inline re-export, and even sometimes for internal type aliases. There's a few open issues around this, I feel like it's just a longstanding bug, probably because the metadata for the external crate doesn't contain the data to say it was a type alias, it may have already been replaced with the expanded form before rustdoc ever sees it.