I'm out of the office at the moment so I can't verify, but if I recall correctly you can configure the event (eg, OnConversationStart) to disable the Canvas. This keeps the GameObject active so the coroutine stays alive.
We had a thread about this back in March. I tested the mobile controls, and the steps in this post seemed to work correctly.
The trick is to disable the Canvas component, not to deactivate the entire GameObject. And add the Dialogue System Invector Bridge component to the player so it can disable control input during conversations.