I'm not sure I follow. Most advancing happens only from user input detection. The only exceptions are 1) when a menu button is pressed, because of how buttons work 2) when a video finishes playing 3) when a save file is loaded(to setup the initial game state) 4) when a new game is started(for the same reason) 5) when a combat sequence ends and 6) when using the skip toggle. I actually have these sectioned off with formatting to easily find them for risk of what you're describing(except skip because it's special). All other calls to storyadvance() are based on user input only.The reason it was problematic in the code I worked with (2.45) is because it immediately calls storyAdvance
At the end of the fade function, a jump does occur technically, but all that does is update the game data in preparation for the next frame. The actual screen output doesn't change until user input occurs. It's kind of like prefetching because it needs to be able to peek at the next index to prepare certain things. However if you scroll, that all just gets deleted because a new game data is copied out from the list. Jump doesn't trigger advancing, it just prepares the game state for it. That's why the above exceptions exist.
As for the dissolve fader, there's a fading variable that is set and then unset while it's running. During which, all attempts to advance are ignored. In the next build, clicking during this will actually force end the dissolving(by way of completing it isntantly), but you still can't have more than one version of that coroutine running at the same time, so there shouldn't be any race conditions. As it happens, when I was first making the code, we ran into that exact issue and corrected it because it could happen on every frame, not just while using scrollback.
Also you don't need to be a patron to join discord and ask me for the source code. I only mentioned patreon because that's where I send test builds so as to ensure people don't just install them willy-nilly. I'm online now and will be for the next 12 or so hours(though I am sometimes slow to respond).