Generally the tactic is to write everything in MicroPython and, only if performance requires it, drop into C to write small sections.
It's still significantly faster than developing wholly in C - or Rust for that matter. And that's if writing in a low level language is required at all.