Because the way that you are including the fields the are being considered top level fields and not sub fields a layout. The values are likely being stored in the DB under the name of the sub field. Each subsequent submission will overwrite the last values.
The only way that I can think of doing this is to create an acf/save_post filter https://www.advancedcustomfields.com/resources/acf-save_post/ and in this filter you would need to update the flex field/layout/sub fields based on the current values of these other fields that are stored incorrectly. I’m not sure how you’d do this.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users