I think there are some lessons that can be learned from Java's virtual thread approach – note that there is a huge gap in requirements and design trade-offs, especially around embedded, when compared to Rust.
I'd just wager that the effort of getting something like that into shape is smaller than the costs of async/await.
(And no, Rust's playing with green threads once 15 years ago and failing due to quality-of-implementation issues is not an excuse to dismiss everything that came after it off the bat.)
Though it's probably not worth discussing this whole topic with Rust fans currently:
Many made async/await part of their personality and have little experience to offer besides breathlessly pointing to one of the half dozen blog articles trying to defend async/await.
It will take a few years until that language feature runs through all stages of grief and one can have an adult discussion about it.