> What am I doing wrong?
pushState is called with three arguments, {state, pagetitle, url}
If the user navigates directly to a URL, state will be null or undefined, in which case your onpopstate handler should not execute the XHR transition.
I'd recommend testing in both Firefox and Chrome, as each browser handles onpopstate events differently.