Datagrids retrieves their data from database (or microflow in 4.x). So until an object is committed in won't be shown in a datagrid.
It's similar to when your are using the new button from the sub entity datagrid. Until you hit the save button it will not be showed in the datagrid.
Try it out: make a custom save button on the sub entity edit form, which don't saves but just refreshes or something. Will also not show anything in the datagrid.
From (database) transactional perspective I share your opinion that is must not be necessary to commit the sub entity. But this is just the way it works in Mendix.