Imagine a website with a support chat generated by js extending from the side. Would you expect going forward/back to this page to restore your chat state? I can come up with a number of reasons for yes and for no. But the best option in this case is: make accidentally going away from that chat session very hard.
There's numerous things that can go wrong, here's two common ones:
1) The page you are going back to is a login prompt, which immediately redirects you, overwriting your "forward" state.
2) Javascript. Everything can happen. Everything will happen. Your worst nightmares will come true.
You'd think they do, but they don't, at least not all of them. The problem isn't the properly designed webapps, it's the improperly designed ones. That's what you somehow don't understand/recognize.
Also, the problem with the redirect happens on a certain popular bulletin board software that works without Javascript (and therefore doesn't provide such a prompt in the first place).
There's no notion of "unsaved" changes. There's the notion of form data that hasn't been submitted, which is entirely different. Many web apps don't use "submit" at all, ever.