Есть скоуп для AuthFlow. Создаёте класс AuthFlowCoordinator, в него инжектите роутер, сам координатор - во все презентеры, связанные с этим flow. Далее, к пример, с экрана ввода телефона презентер вызывает метод coordinator.onPhoneConfirmed(). Затем следующий презентер вызывает coordinator.onSmsCodeConfirmed(). Координатор внутри осуществляет соответствующие вызовы на роутере.
в таком случае он должен инжектится в Activity/Fragment для сохранения текущего шага.
Ну тогда как посоветовали - использовать стейт, либо для экрана ввода смс при создании указывать параметр, благодаря которому презентер сможет определить, что именно вызывать у координатора
это в навигатор задается айди контейнера, а вот навигатор холдер в который сэтится навигатор, как раз складывает в буфер команды пока навигатор в него не установлен