Your 1,500-input and 400-output request makes the comparison reproducible, and excluding caching and batch discounts keeps that baseline understandable. I would add a sensitivity view that varies the input/output ratio while holding the capability score fixed. A frontier for short replies can differ from one for long generated reports, even before task-specific quality enters the picture.
For a deployment decision, cost per accepted result would be a useful companion metric: include repair attempts and discarded answers in the bill. That would preserve the broad comparison while showing why the cheapest nominal request is not always the cheapest completed extraction or classification.