Sorry, my fault.
I changed the check_ignore function to return false unless a very specific type of URL is called (i.e. I didn’t want ajax to work for every single link).
Clearly, when one presses back the page is never reloaded (in the windows.onpopstate), since the previous url isn’t obviously that exact type of URL I was checking. It returned false always!
Learning: don’t make changes to the check_ignore function. If you want to extend it, make a new function of your own and call it where you need to, to avoid botching up the rest of the code flow.