Quite inline with what I had found with my Claude code sessions over the last year. I wrote about this a few months ago.
https://rahulmax.com/notes/how-i-keep-the-ai-bill-down/
In their case, context management pays off more the tighter your window. Their gap between managing and not managing is 35.7 points of success rate at 32k and 2.7 points at 128k. My version of that was a rule I stick to, as much as I can. I checkpoint a session at about 25-30% of the window, write the state out to a PROGRESS.md and a JSON file of the requirements, and start fresh. This restart costs me 30 seconds, since a bloated session doesn't get any cheaper the longer you stay in it.
Also worth knowing that the models are Nemotron-3 and Mistral-Medium, not the frontier models most people here are paying for.
And what you describe doing is also very in line with Cursor's published recommendations.
Though of course every single element of their application's actual UX is pushing hard in the opposite direction. The cynical part of me can't help but notice that there's a bit of a conundrum here: using coding agents more effectively seems to involve working pretty hard at giving the agent vendor less money.
I've been pushing the context window well into the 400-600k+ token range lately (mostly Opus 5). I prefer not to since I'm aware of context collapse, but I've been leaning that way lately.
Lately, I've been finding that the game of telephone of handoffs causes more mistakes than just letting the session run longer. Not too mention the wasted time waiting for agents to poke around as they bootstrap a new session from the handoff.
Of course, I still have handoffs for the large-scale plan being accomplished, but I've been having better results letting an agent finishing what it starts. The game of telephone is a painful waste of time when it goes wrong, which is far too often for me.