Yes. Your understanding is correct.
The sample is an example for the Async HTTP APIs Pattern. This allows for long running operations without hitting the HTTP timeout limit. Your mobile app would have to poll the status update to check the progress of the operation.
While this is the behavior when using the StartNewAsync API, you could alternatively use the WaitForCompletionOrCreateCheckStatusResponseAsync API which first waits for the output until the configured timeout. If the orchestration completes within the timeout, the result is returned and if not, the status response similar to the StartNewAsync API is returned.
Also, a more advanced way to deal with this would be to use External Events or Event Grid Integration coupled with SignalR Service Binding.