I had a weird experience where I had to use a device stuck on a 2.6.x kernel, and I was able to run a modern distribution on top of it.
Similarly, running old userlands on new kernels works just as well.
The issue with backwards compatibility isn't with the kernel, but ensuring that whatever you want to run is compatible with the surrounding userland environment. Dynamic linking can break backwards compatibility, for example, but that's an issue above Linux.