Hello
I found the reason for this bug – and by the way 2 solutions:
1. Your API's response can provide the requested page number at the same level as the “total” and “records” nodes. This node has to be named “page” or something else, if you map it in (e.g.) jsonReader.
2. Because we know which page we've requested, it's not logically and nessesary to transmit this via request and response. So you could change this line
ts.p.page = $.jgrid.getAccessor(data,dReader.page) || 0
in “jQuery.jqGrid.min.js”, “jQuery.jqGrid.src.js” or “grid.base.js”
to this one
ts.p.page = $.jgrid.getAccessor(data,dReader.page) || ts.p.page || 0
Hope that helps 
I submit that to github. We'll see, if it will be merged. Tony? Still alive? 
Best
Robert