All tasks expectes that there are no subdirs. E.g chroot_scan plugin creates such structures and tasks will a) ignore such content b) fail. We can do better here and do some traversal of the content. The question is how to store conflicting filenames ("dir-subdir-filename"?).
This issue has been migrated to Fedora Forge: https://forge.fedoraproject.org/koji/koji/issues/3439
Please continue any further discussion there.