Yes and no, actually.
Back in the old days, you *did* need your root's filesystem support bundled into the kernel. That was because if you compiled it as a module, you needed to mount the root filesystem first... But how can you mount, if your kernel didn't have the support for it? It was kind of a chicken-and-egg problem.
Now, some distros use the module approach, and solve that problem by making heavy use of initrd/initramfs techniques. Basically, that involves creating a small "memory hard disk" which can be mounted as root filesystem, load from there all needed modules (like ext4 fs support), and *then and only then*, mount your real root filesystem.