How does your config.yml look like? What next action is chosen depends on the policy you chose (Policies).
Just to clarify, if the user says something different than “user confirm” your bot should nevertheless react with “action 2” or should it break out of the fixed story?
You config file looks good. Normally, the behaviour you desire should also happen. How does your training data look like? Did you make sure to also include some unhappy paths in there? E.g. stories that say something different then “user confirm” after “action 1”? If you don’t include unhappy stories, your bot does not know how to handle those scenarios and will react the way he know.
Also what was the intent of “hi”? Was it classified as “user confirm” or something else? If it was detected as “user confirm”, you should update your NLU training data.