Had a similar problem in my application. There was a missing await on the method calling the router.push({ query }) that created a race condition clobbering some of my params.
await
router.push({ query })