Compreendo sua perspectiva sobre o desenvolvimento web e concordo que explorar outras áreas, como a programação de sistemas embarcados em C, pode ser fascinante. Além dos tópicos que mencionou, aqui estão algumas sugestões adicionais para expandir os conhecimentos em C: programação concorrente e paralela, segurança em C, embarcados, otimização de código. recomendo dar uma olhando sobre otimização usando instruções vetoriais e um assunto muito interessante para que gosta de programação de baixo nível, um professor meu tem alguns artigos publicados na área de doutorado dele que é criptografia em que ele faz implementação eficiente de algoritmos criptográfico para arquitetura x86 usando instruções vetoriais. Acho válido destacar que assuntos como embarcados e programação de baixo nivel são BEM COMPLICADOS a princípio, principalmente quando se trata de otimização e você tem que entender muito bem sobre tópico como arquitetura de computados e sistemas operacionais, é difícil, tanto aprender quanto achar vagas, mas não é impossível e eu mesmo quero ir para o mercado de trabalho nesse rumo. Se for iniciante recomendo começar implementando estruturas de dados usando C, coisas como Listas Ligadas, Hash Tables(vou deixar uma implementacão minha de hash table para tipos de dados genéricos feita em C nos links), Árvores B e B+ para entender como as estruturas funcionam e como outras linguagens implementam as estruturas delas e como linguagens como python por exemplo usam ponteiros para fazer arrays que aceitam diversos tipos por exemplo. vou deixar alguns links que você pode se interessar.
https://github.com/hscHeric/hsc_hash_separate-chaining
https://www.ime.usp.br/~pf/algoritmos/
https://www.ic.unicamp.br/~rdahab/cursos/mo850/Welcome.html
https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=6,483