Ну это больше костыльный метод. По логике предыдущий экран должен сохранять свое состояние. navigate и push в стэке я так понял этого не делают, либо у меня косяк в коде и при возврате у меня обновляется первый экран
У тебя либо экран, либо флетлист перерендеривается при переходах и приходят в исходное состояние. Можно попробовать выделить флэтлист в отдедьный пуркомпонент, который будет перерендериваться только при изменении данных.