Linux kernel is rather binary compatible when considering apps. If you see an incompatibility, it is most likely caused by
a. CPU architecture mismatch (obviously unrelated to kernel version) or
b. Library issues. Apps typically depend on some libraries. If any of them is missing or incompatible, then the app will likely not work.
Sure, there are some APIs/ABIs in kernel that might change across versions., so kernel incompatibility might happen in theory. It just does not happen so often…
Kernel modules are a different story, level of compatibility across versions is AFAIK quite lower there. But you don't need a kernel module for glibc…