While gentoo is a good way to understand the operating system, i think freebsd is better for that basically because the package manager is not written in Python.
Linux is different, in Linux every component is a different project, the kernel (linux itself), the init system (systemd, openrc, runit...), the package manager (portage, xbps, apt, dnf....), the boot manager (grub, lilo, systemd-boot). In BSD everything is under the same source tree which makes easier to understand how the system works.
In contrast with gentoo I prefer compliation of packages using ports rather than "useflags" (freebsd also have that concept in a different way). While in gentoo you have a weird configuration file in freebsd you have a prompt that asks you the compilation options like you have no idea how to use a computer. Which is good
Also the sole existence of ZFS is a reason to use FreeBSD. I haven't been able to use any other FS since then.