microgen copies the kernel modules before adding them into a cpio file. 3cpio can operate on a manifest without needing to copy files into a temporary directory beforehand.
Have you considered using 3cpio? Currently the threecpio crate is tailored to the 3cpio CLI tool, but this would be a good opportunity to make threecpio more usable as library.