Sou bem suspeito pra falar porque trabalho diariamente com programação de sistemas embarcados, e embarcados só se programa em C/C++. Sei programar em outras linguagens como Python e Javascript, e sempre escolho a que melhor me atende pra desenvolver algo. Raramente eu escolho C fora do contexto de embarcados, porque exige bastante nuanças e isso pode só dificultar um desenvolvimento que seria mais fácil se fosse em linguagens de mais alto nível.

Acredito que sim, vale a pena estudar C porque pra algo funcionar de forma correta e coerente, você precisa entender alguns fundamentos de computação. Coisa que linguagens de mais alto nível já faz pra você.

Vi que a galera está comentando sobre Assembly e concordo que vale a pena entender como funciona, mas desenvolver algo útil em Assembly é impraticável caso você esteja fora do contexto de embarcados.

Entenda o seguinte, o aprendizado em C que você procura é muito além de só codificar e aprender sintaxes. É entender o que significa ponteiros, como funciona alocação e leitura de memória, o que são endereços, o que são funções. Se você quiser ir pra coisas mais profundas ainda pode tentar fazer um driver de algum sensor com algum Arduino, mas daí já são coisas além.

o que achar de aprender rust ao invés de C?