As I mentioned in a reply above, use vaSystem.switchTopicById([topic sys_id]) if you know what topic to switch to. topicDiscovery() is only needed if you explicitly need to use NLU.

 

This is documented in Virtual Agent scripts (servicenow.com):

vaSystem.switchTopicById() Enables the user to jump from the current conversation topic to the specified topic ID. The X button is available, so that the user can end the conversation. After the topic ends, the user resumes the global topic. When the conversation ends, the user can click to restart.