Well, since this thread began I have moved over to a Google Pixel 6a, and – since /e/ does not support that phone via dev or stable builds – I am running GrapheneOS on it (let me say that the install process is magically easy, by comparison; what I imagine the /e/ easy-installer must be like for those phones that are supported by it).
Anyway, what I did to move an existing /e/OS version R to S was just the sideload
procedure. In your case, it is probably necessary to try to do this in stages, given the starting point. (While I’m about it, I must say that it was largely @chrisrg’s help that got me through the process described at this post).
I suspect (but am by no means sure) that you will need to do the detailed process, flashing to the highest level of stock ROM you can find (which looks to be 11/R, according to developer-dot-sony-dot-com). That will erase everything, so backups are good.
From there, one option could be to reboot to the new ROM (with its recovery), then flash to the new version (S). But I am a cautious soul, so I would probably flash to the comparable /e/ ROM to that version of Android (11/R), although that has stopped receiving updates. I would do that by flashing the next-to-last version (1.7-r-
), and let that do an OTA update, including the recovery, to the last supported version (i.e., 1.8-r-
).
Then, I would do the sideload
procedure, as noted above, to the next-to-most-recent version (1.10-s-
) and then let that do an OTA update. If all well, restore from backup.
Note: the above approach might not be optimal, and it is a very conservative and cautious process. But I tend to be that way with my main daily driver phone (which it was at the time). But this is where I would call out to @chrisrg for a second opinion (and one based on a good deal more experience doing this than I have had…)