"Ждать завершение асинхронной функции" работает корректно, так как функция завершается ранее. Функция завершается из-за ошибки, возвращаемой действием "Получить код"(Попробуйте обернуть его в "Игнорирование ошибок"). "Получить код", в свою очередь, возвращает ошибку, потому-что действия "Получить номер телефона" и "Получить код" находятся в разных потоках.
image.png