Можно возвращать скролл-позицию скриптом (первый же пример из гугла), правда насколько это изящно будет выглядеть с учетом того, что страница будет обновлена при возврате, а только потом будет проскроллена до прошлой позиции. Браузер в большинстве случаев будет перезагружать страницу, неважно на какую страницу вы вернетесь - поднятую из кеша браузера или она будет повторно запрашиваться с сервера. В любом случае, только браузер будет решать, анализировать повторно DOM и отображать ли повторно страницу или запрашивать ее из кеша/сервера.
Страница, на которую браузер возвращается сохранена, да, получен ее голый HTML и т.д., но скрипты, содержащиеся в странице, чаще всего крепко изменяют DOM после загрузки страницы, следовательно должны запускаться снова при возврате, следовательно страница должна быть перезагружена.
.