I think one of the most useful places for async is embedded - Embassy is amazing & you can't use GC there. Rust async almost seems like it was designed more for that than for the high level web stuff that lots of people use it for.
They definitely could have made it more ergonomic though. Pin is super confusing and there are a disappointing number of footguns, e.g. it's very easy to mess up loop/select and that's super common.