Na minha visão é porque áreas que envolvem low level demandam muito mais conhecimento técnico do que desenvolvimento web. Com alguns cursos, Youtube, documentações (que na maior parte das vezes são muito bem explicativas e simples de entender) qualquer um consegue iniciar nessa área. Trabalhar com desenvolvimento de sistemas operacionais, por outro lado, envolvem conceitos bem mais complexos (na minha opinião, pelo menos), como gerenciamento de memória, escalonamento de processos, arquitetura de computadores etc, que você provavelmente vai ter que ler uns bons livros bem densos para entender realmente bem.
Errado não está, o meu ponto é que arquitetura de computadores e gerenciamento de memória são conhecimentos essenciais para qualquer programador. Obrigado pelo comentário