emerge --depclean

emerge --depclean does not remove the kernel source if you have CONFIG_PROTECT. If you build the kernel in-tree, the kernel source will be removed but all the files created by the build process will be left. Those have to be removed manually: https://wiki.gentoo.org/wiki/Kernel/Removal

In fact, it is better to build out-of-tree with $KBUILD_OUTPUT, allowing multiple builds with different configurations.

So, if you want to keep the kernel sources of a specific linux kernel, you might want to add the package to your world file: