I recommend Axum.
1) Not too high, not too low.
2) Very well componentized (e.g., Tower for middleware)
3) Very well modelized and complete (e.g., middleware, extractor, req/res extension, fallback, req/res mappers, simple and flexible response/error scheme)
4) Part of the Tokio umbrella.
5) Great user momentum and well-maintained.