Have you considered embedded software? What you describe and long for (including all the constraints) seems to match the needs and challenges of embedded development. Example of places would include TI, Intel, Atmel, etc., and also hardware makers that use their chips.
As a somewhat older (42) programmer whose early career was similar to what OP is describing I've been focusing on embedded systems and most recently Android development -- granted, Java isn't C and there are quite a few things I dislike about the language (and moreso the AbstractFactoryOfFactoriesClass culture it tends to have) but it is (practically speaking) MUCH closer to the sort of desktop app development that we used to do than either of back or front end web development (which I also don't really enjoy).