Hi Martin, replying to your initial question as I have recently investigated that particular behavior.
Indeed the activities in the OutSystems BPT will progress asynchronously if you are using Entity Events to automatically close the Activities (Create<ENTITY>, Update<ENTITY>, etc.). So in that circumstance if you have a user navigating from Screen 1 where he executes Human Activity 1 to Screen 2 where he executes Human Activity 2, when the second screen is loaded the BPT activity might not yet have been opened yet, which can have impact on your logic.
In order to avoid this asynchornous behavior, you can use the BPT API to close the activity with the Close<Human Activity Name> process action or ActivityClose system action. This means that instead of defining in your process that Human Activity 1 closes on a particular database event, you would explicitly call the ActivityClose action in your Screen 1 logic once the activity is finalized - this will synchronously close Human Activity 1 and set the Human Activity 2 as ready, which means that once you get to the second screen you will have the process up-to-date.

Hope this helps.
Kind Regards,
Daniel