RecyclerViewでスクロール位置を復元したい場合、だいたい position を保持しておいて、それを使って復元するのが王道な感じですが、別の方法もあるようだったのでメモがてら投稿。
// 保持
val state: Parcelable = recyclerView.layoutManager?.onSaveInstanceState()
// 復元
recyclerView.layoutManager?.onRestoreInstanceState(state)
LayoutManager の onSaveInstanceState を呼ぶことで、スクロール位置などの情報を持った Parcelable を取得できるので、それを使う方法です。
onSaveInstanceState の場合、オフセットなども良しなに?計算してくれているようなので、 position を保持する方法よりも、いいかもしれないです。