A non-persistant entity is not stored in the database and only exists with the initial user in client memory. So using the executeMicroflowasUser java action with a different user indeed won't work. I believe that with the same user that created the Non-peristant entity this should work.
If you do need to test it with a different user either make the entity persistable and commit it for your test, or test the microflow with the correct user directly.
As you’ve noticed, you’ve lost the non-persistent entities as they aren’t owned by the same user that the microflow is running as. You need to change when your entities are created. I think you need a microflow to setup these entities, then call the SUB you need to test. Run this entire microflow as the user you test with, don’t setup the entities first then run as the different user.
Hope this helps.