You mentioned you use copr to build, is copr create a new chroot directory for a new task? cuz I checked mock's "plugin rootcache" it says will cache from "/var/cache/mock/NAME_OF_CHROOT/root_cache/" which means the new task can only be cached if the "chroot" is same. but in "KOJI", every tasks have a new name.
The name of chroot comes from
config_opts['chroot_name']
e.g. fedora-38-x86_64
I am not aware of Koji internals. In Copr we do build in new VM, but the /var/cache is already prepopulated in the image. And Copr definitelly uses the same chroot name as Mock.
Miroslav