Привет, прежде всего хочу поздравить вас с постом. Сразу к делу и хорошо объяснено 😉

Я только хочу указать на ту часть, когда вы говорите, что .navigate - это то же самое, что .push, потому что с момента выпуска V2 они обновили свой API навигации, и если вы дважды вставите один и тот же экран в стек, стек увеличится 2 экрана, но если вы используете навигацию вместо push, стек получит только 1 новый экран в стек.

И еще один пример: если экран, к которому вы хотите перейти, уже присутствует в стеке, api будет выдвигать экраны в стеке до тех пор, пока верхний экран не станет тем экраном, к которому вы хотите перейти. Этот пример не будет работать с .push.