I don't think for a second that async Rust should be picked for performance reasons.
You get a feeling for what is a good use of async and bad use of async relatively easily these days as the ecosystem is maturing.
You can also keep async relatively local to a function that does these things and is itself blocking otherwise.