元の位置に戻れなくなる理由
もっと見るを押して一覧表示件数が増えたことで初期表示時より縦長な画面に変わっているのに、バックした際には初期表示時の表示件数に減っていて元の場所の座標が存在しなくなっているから
(元の場所の座標が存在していればブラウザがそこまでスクロールしてくれる)
対策
一覧画面を、URLパラメータに「表示件数」が指定されていたらその件数分表示する、ように作っておく
(指定されてなかったらデフォルト件数(10件とか)を初期表示件数とする)
一覧の最下部のもっと見るボタンを押した際に一覧表示件数が増えるので、最新の表示件数を現URLのパラメータにセットしておく
// もっと見る押下時にブラウザのアドレスバーのURLに最新表示件数パラメータをセット
const locationUrl = new URL(location.href); // 現URL
locationUrl.searchParams.set('<表示件数パラメータ名>', <最新の表示件数>);
history.pushState({}, '', locationUrl); // ブラウザのアドレスバーが書き換わる
これをやっておくと、詳細に遷移してから一覧にバックした際に表示件数パラメータ付きのURLにバックするので、詳細遷移直前の表示件数すなわち縦長な画面が復元される