As you can see in this test project (https://listinnanoflowbug-sandbox.mxapps.io/), a nanoflow creating 100 non persitable entities is up to a factor 250(!!) slower than a microflow executing the exact same logic.
According to Mendix, this is because a create action (and also commit/rollback/retrieve actions) require a database interaction and thus require server request (see documentation: https://docs.mendix.com/refguide/nanoflows#2-when-to-use-nanoflows).
While this might be true for persitable entities, for non-persitable entities, no database interaction, and therefore no server request, should be needed, because these entities by definition don't exist in the database.
I've created a ticket for this, and the response was "There are plans to improve the behavior in the future, but these plans aren't concrete yet, and we don't have any time lines for that yet."
So this idea is to make sure these plans will become more concrete, because I think this would greatly improve the usability of nanoflows, and the maintainability of the app in general, as you can use the same nanoflows for both offline and web apps.