`errno` is a userland concept; the kernel returns negative error numbers that libc then turns into -1 and sets errno. Thus the correct manpage is errno(3).
https://man.freebsd.org/cgi/man.cgi?query=errno&apropos=0&se...
Also, your statements about the kernel and libc are OS specific.