My current setup is fairly similar. My calendar/todo agenda is "hard" - planning and history are kept away from that.
I treat "Projects" with 5 steps or less with separate time-frames or contexts (e.g., Grocery Shopping - review list of household needs, ask Junior what school supplies he needs, go to store) as ToDo's with the 5 steps as an attached note - I mark completions of steps in the note and carry forward the ToDo in the next succeeding context category till the project is done. (I treat a "Project" with multiple actions to be done at the same time in the same place as a single 3-line ToDo item.)
I use Bonsai, linking next actions to ToDo, for:
(1) client work / planning and large projects / planning. I try to keep sub-projects to max. 5 steps and treat them as ToDo's, otherwise I set up a Bonsai sub-project and when complete I cut and paste into the main project/client. I want to maintain history for these so I use the "setting" to keep the actions in Bonsai when I unlink the ToDo's on completion by deleting them or moving them into the Calendar. Bonsai Desktop prints nicely with completion dates for each step.
(2) deferred individual tasks (not related to current projects). I keep these out of my ToDo list / Agenda to avoid clutter. I set the Bonsai steps to automatically delete when I delete the ToDo on unlinking.
(3) Someday/Maybe projects - I keep them out of the ToDo db.
With the setups for 1. and 2., I don't have to go back to Bonsai to edit after I have completed a ToDo.