There's also a tactical question about splitting by subsystem: are there any tools that would assist in doing this, or is it a matter of manually consulting MAINTAINERS to figure out file groupings?
You can run ./scripts/get_maintainer -f path/to/file.c
and it will give you the Maintainers for that file. From that you can imply the subsystem.
It might be possible to do one tree wide patchset, since Rust is still small at the moment. But you will need to get Reviewed-by: or Acked-by: from each subsystem Maintainer for the patches. That is not always easy, since some subsystems have CI systems, and will want the patch to pass their CI tests before giving an Reviewed-by.
Andrew