NixOS was merged because 1) we didn’t have flakes; and 2) there is frequently some tight coupling between packages and modules (e.g. if the systemd package is upgraded, it often requires changes to the systemd modules as well). Point 2) is probably not very applicable to home-manager.
It seems clearly preferable for both quality and speed of development to have projects like home-manager in their own repositories, since then 1) you can have whatever process is appropriate for a project of that size (e.g. you don’t have to go through the Nixpkgs PR / release process); and 2) you don’t have to give 100+ Nixpkgs committers write access to your project.
which I don’t believe is sustainable without static types
The Python ecosystem doesn’t live in a giant monorepo either and they seem to manage without a static type system.