The subject started being discussed at
WICKET-3751 despite not being related to. Currently the page id gets frozen if AjaxRequestTarget or RequestListenerInterface identify the page as the target of the AJAX request.
As user can be using more than 1 page at the same time, opening popups, modal windows, frames, etc, would make sense move this spread test and frozen logic to a central place: the page itself. The benefit is to make sure that no page id will be changed inside an AJAX request compromising every already rendered URL in browser, and the removal of duplicated code in the framework to a central place.
We can even consider to simple remove the freeze page id flag from page and have less complexity in the framework, but I don't know the impact an would be more inclined to simple remove duplicated code and centralize it in Page.