You need unique row ID to identify rows on server rather than a row number.
For example
https://paramquery.com/pro/demos/editing_batch, Product ID is the unique identifier of rows. Product ID is sent along with updated and deleted rows.
row numbers have significance only in the context of grid, it's the index of row in grid. it's not constant and changes when the grid is sorted and filtered, so they don't have significance in the context of server side processing.
Anyway if you still need them, just call getChanges without format parameter.
grid.getChanges(); which returns reference to rowData in addList, updateList and deleteList.
And you can get rowIndx of every row by getRowIndx method.
https://paramquery.com/pro/api#method-getRowIndx