rustfmt is what implements Rust formating. However rustfmt is also distributed via rustup (Rust's toolchain manager). There it is also exposed under the alias cargo-fmt, which makes it work as cargo subcommand `cargo fmt` (a mechanism that's available to any crate). So it's technically not "part of cargo".
Of course the nature of all of this is a bit different, as Rust maintains cargo, rustfmt and a lot more dev tooling as part of it's official teams in comparison to other language ecosystems, where focus is on the compiler only.
the type check is background process for lsp and a quality gate in your process.
formatting likewise with a stronger Fokus on pre-commit
packaging (and build for packaging) may or may not be gated with the former two but it's a (pre)release and deployment activity.
I think it's safe to say most of us who use `uv` use it as a package manager.