I think your approach is likely a good one–articles are tasks, workflow is in subtasks, and stage is in sections, all in one project. (You’ll just have to ignore the custom fields for subtasks and value them only for the parent tasks.)
For a confirmation, or just a generic way to look at this question, consider my workshop video:
Instead of sections, you could consider custom task types to represent your stages, then group the project, by default, into these stages.