A few days ago I complained about the agony of trying to write per-endpoint middleware in Axum using Tower services and layers, and how awful I found the experience every time Axum exposes Tower to me. (I still feel that way.) Josh Triplett was kind enough to point me to a relative newcomer in the Rust http framework scene, Trillium, as a good alternative.
Here are my notes on the spike I did with Trillium.
tl;dr Axum is much more popular and also finished. You are getting a more well-known and understood project when you choose it. You should probably choose it unless you have a reason not to. For now.