You have a template filled with Parent. Within the template you have a dataview that shows one the parent's non-persistant children. Within that dataview you have a button calling a microflow passing both parent and child. You describe that while debugging you only see Child and Parent is not in the list. This suggest that Parent is not (or no longer) in your microflow. Check if Parent is still in your microflow as parameter.
Ok, so I have reproduced the issue in a new project and it still happens. I can share the mpk, but here is a brief description of the project in case it make it clearer.
2 non-persistable entities. These are each populated by a microflow, Entity1 has multiple rows and is displayed in a template grid, Entity 2 is a single object created in a data view embedded in the template grid.
The problem occurs in the microflow behind the button.
Having reconstructed this, I think what is happening is that the Entity2 object is getting dropped each time it is created in each record in the Entity1 grid. I will try throwing in a temporary association and access it that way.