Yes, I'm referring to the package key in your Cargo.toml. I haven't heard of the package/crate distinction before.
As for the linking, if you turn on lto, unused code paths should be removed. You can also turn your project into a workspace if you wish to have several library crates.
Folks tend to use them interchangeably. A Cargo.toml defines a package, which can have one or many crates. (this is why the first line of your Cargo.toml is [package]. A crate is "a thing you pass to rustc", so like, src/main.rs defines a crate, src/lib.rs defines a crate, etc.