Hi
subtask_project_id is specifically handling the sub tasks of tasks in a project. field subtask_project_id is invisible in task, But the field can be selected from project Edit , First go to Project->Configuration-->Settings and tick the "Sub-task" checkbox, then field 'Sub-task Project' will be shown on project edit, you can set a project(it can be the Project itself or another one). After that whenever a sub task is created for the parent Project's Tasks, the sub tasks will be assigned in the Sub-task Project.
Eg:
Project A (parent project)
Project B(Sub task Project)
Task A -(Sub tasks- Task A1,Task A2)
Task A1,Task A2 will be stored as Tasks of Project B(Sub task Project)
Suggestion: Right now the field subtask_project_id is a Many2one field, thus only a single project can be selected, you can do try creating a custom many2many field "subtask_project_ids" on the Project Edit, and set it as selectable from Task(as a Many2one field), and then the sub tasks of that task can be stored on that Project(Sub task-Project) by duplicating existing functionalities of 'subtask_project_id'.
Regards