The solution would unfortunately involve a change in XPages core, not extlib. In fact, partial refresh asks for x rows and the client side code guess they are more rows if the #of rows returned equals the number asked (x, in this case). When it is less, it means that it reached the end of the collection.
Along with the rows, the data iterator can generate a script variable that tells the client if rows are available.