No ambiguity, no smuggling
Smuggling only exists when two hops disagree, so remove the disagreement:
Tip: Reject any request that carries both
Content-LengthandTransfer-Encoding(the spec lets you), normalise requests at the front-end so the back-end sees exactly one interpretation, and use the same server software and HTTP/2 end to end where possible. Don't reuse back-end connections across clients if the front-end can't guarantee clean request boundaries.