glibc is not backwards compatible, the RH9 RPMs should be built against the RH9 glibc. There is nothing special about epoll, you can have the same issue with any glibc symbol, and we can't start dynamically loading them all.
We don't have to be over-general about it, just dynamically loading the ones that cause problems would be fine (or using syscalls directly). The vast majority of the symbols are always there and so it doesn't make sense to use dlsym.