The taxi analogy lands, and the sentence doing the real work is that the waste is invisible because the bill does not tell you which requests were easy. That is the actual blocker: most teams cannot route because nobody has labelled difficulty.
The cheapest first step is not a router at all. Sample a few hundred production requests and hand-label whether the small model's answer would have been acceptable. That number gives you the ceiling on savings before you build anything, and it usually comes back either high enough that the work is obvious or low enough that it is not worth doing.
One thing to plan for up front: the two models have different output distributions, so anything with a strict output contract needs schema validation on both paths, or routing becomes an intermittent correctness bug instead of a cost win.