Your assumption in question 1 is right and it is the whole answer.
An agent turn is not one request. It is a loop: read files, call a tool, get output, decide again. Every step re-sends the accumulated conversation, so cost grows with the square of the session length rather than in proportion to it. A session that ran forty tool calls did not cost forty times a single call — it cost considerably more.
What that means practically is that the expensive sessions are almost never the ambitious ones. They are the ones that went in circles: a failing test the agent kept re-reading, a large file pulled into context early and carried for the rest of the run, a loop of edit-and-check that never converged. The work product looks small, which is exactly why nobody suspects it.
So the metric you want is not cost per session. It is cost per session divided by whether anything got merged.