Ответ 1
https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history
"Объект состояния может быть любым, что может быть сериализовано. Поскольку Firefox сохраняет объекты состояния на пользовательский диск, чтобы их можно было восстановить после перезапуска браузера, мы накладываем ограничение размера на 640 тыс. символов в сериализованном представлении Если вы передаете объект состояния, сериализованное представление которого больше, чем this, чтобы pushState(), метод генерирует исключение. Если вам нужно больше места, чем это, вам рекомендуется использовать sessionStorage и/или localStorage."
Похоже, простой ответ заключается в том, что возможное состояние, в котором вы проходите, сериализуется до более чем 640 тысяч. Я просто столкнулся с этой ошибкой, и я почти уверен, что это причина.