The problem with moving directory in podman (fuse-overlayfs) was catched in microdnf too: https://bugzilla.redhat.com/show_bug.cgi?id=1700341 .
I implemented a "copy+delete fallback " in the libdnf. And also made some workaround in the librepo.
The new libdnf code is used by DNF too. So, the "cross-device link" problem is fixed.
But I see other message "Directory not empty" instead of "Invalid cross-device link" in this bug. Another anomaly of overlayfs? I do not know, but "copy+delete fallback" will be used in this case too. So, I hope that this bug is fixed too.