если я верно вас понял, то нужно реализовывать 2 роутера - общий - для табов/пунктов меню + внутренний для работы с фрагментами внутри каждого фрагмента.
ну а если нужно сохрянть внутренню навигацию - то тогда не обойтись без 2 роутеров - НО это пока не требуется.
newRoot - да, этот вариант у меня был - НО при таком раскладе - нельзя будет вернуться с фрагмента №2 на фрагмент №1, потому как фрагмент №2 - уже стал рутом.
для этого у навигатора есть метод, который вызывается перед выходом из приложения. там надо посмотреть текущий экран и если это не тот с которого можно выходить, то сменить его
для этого у навигатора есть метод, который вызывается перед выходом из приложения. там надо посмотреть текущий экран и если это не тот с которого можно выходить, то сменить его