No exemplo a constante registroInicial possui uma função que não é genérica (não aceita todos os casos). Para corrigir é interessante substituir o -1 da parte : (page * pageOffset) - 1 por : (page * pageOffset) - pageOffset.
O motivo é que (page * pageOffset) calcula a posição real na tabela que o limite (pageOffset) pode alançar junto a essa página. Se subtrairmos a quantidade de registros de cada página (pageOffset) vamos encontrar a posição real que inicia essa página atual.
Resultado final:
