One can build 4.9 kernel from khadas git repository oneself natively or with cross build tools.
At least, I built one myself (natively on vim2 booted from minimal gentoo SD stage3 root I work on).
Once built you need to make the uImage and uInitrd for /boot as well.
I agree it might be good to have more code built as modules.
My vanilla kernel has many :-). But vanilla does not (yet) support some HW (USB).
kvim2-gentoo ~ # find /lib/modules/4.9.40-khadas/ -name "*.ko" | wc
5 5 317
kvim2-gentoo ~ # find /lib/modules/4.14.0-gentoo/ -name "*.ko" | wc
1322 1322 87506
here is one VIM2 running gentoo
kvim2-gentoo ~ # uname -a
Linux kvim2-gentoo 4.14.0-gentoo #2 SMP PREEMPT Tue Nov 14 02:58:39 CET 2017 aarch64 GNU/Linux
kvim2-gentoo ~ # cat /proc/version
Linux version 4.14.0-gentoo (root@kvim2-gentoo) (gcc version 7.2.0 (Gentoo 7.2.0 p1.1)) #2 SMP PREEMPT Tue Nov 14 02:58:39 CET 2017
here is another one currently running 3in1 ubuntu with kernel built on other (gentoo) one
root@khadas-extra:~# uname -a
Linux khadas-extra 4.9.40-khadas #1 SMP PREEMPT Sat Nov 18 23:17:57 CET 2017 aarch64 aarch64 aarch64 GNU/Linux
root@khadas-extra:~# cat /proc/version
Linux version 4.9.40-khadas (root@kvim2-gentoo) (gcc version 4.9.4 (Gentoo 4.9.4-r1 p1.1, pie-0.6.4) ) #1 SMP PREEMPT Sat Nov 18 23:17:57 CET 2017