In my cases, the source data for the initial form data of subworkflows started via SQL, is usually kept in an itemslist. I'm storing the row-id (DET_ID) in a technical field of the subworkflow.
When the subworkflow has been started, i'm writing the workflow-id back to the itemslist row. The write-back is done via SQL Update statement. This way i have a link from itemslist row to the subworkflow and back.
However, the approach with SQL update statement does not provide a history of changes. But until now, i never had the requirement to have this history.
In cases you need to maintain history of changes, it would be better to update the row via the Rest-API.