Solution: add "%dir /usr/lib/mirror" to the filelist.
You're right, the direcotry itself isn't listed in the file list for mirror,
however the files that are supposed to be in /usr/lib/mirror are. Those files
will still be installed in /usr/lib/mirror so it works fine for now.
I am resolving this to "not a bug" since all works well with the package (it
installs, uninstalls etc.), but it is a valid complaint against a packaging
mistake which instead of using the %dir as you suggested, remove all the
listings of /usr/lib/mirror/somefile and just have /usr/lib/mirror as the file
listing so that all of the files are picked up in that dir, and so is the dir.