Instead of trying to implement a more powerful sub-task system, I'd suggest the team to consider an alternative approach that may have similar (or even less ) dev cost but can be much more flexible:

Project folders

It is used to group tasks or projects, and other nested project folders.

As project grow larger, it makes sense to break them down into sub-projects.