Why isn't Android using kernel v4+? While i understand that the patches needed to "support" Android operations aren't in the mainline kernel distribution, I don't understand why it isn't being ported to newer kernels.

Newer kernels come with a load of improvements in a lot of architecture-independent areas, as well as in a lot of architecture-dependent areas.

FWIK, I see almost all Android distros, starting with Google's, are sticking with kernel v3.4.
Yes, v3.4.112 is an LTS kernel, but so are v3.10, v3.12, v3.14, v3.18, v4.1 and v4.4! (source: kernel.org).

So, what is holding Android back to v3.4?
Google's Android specific features were not included in the mainline Linux development. So they took the then LTS branch and added their own code.
Android does not use or include the native GNU C Lib, it uses Bionic.
OEM specific changes could not or were not included in the mainstream branch.