As far as I am aware paging in lucene would involve just displaying the relevant results for the current page (effectively skipping rows), or have you found an example which does something different?
Lucene is quick, we can page results with thousands of result with very little impact on performance.
You can use the examples you have found about paging in lucene. Alfresco makes it possible for you to get to the hits and documents in the lucene results for a search.
The way Lucene performs its "scoring" means that it needs the full resultset to be able to judge the score of documents. OpenSearch is simply paging through the query results each time - it's not great but it works. As far as performance is concerned, 4/5 of the CPU time will be taken up by permissions evaluations in the repository - not Lucene itself. You can configure Alfresco to stop processing permissions after a certain number or time taken and ignore the rest - as the results will be returned in score order anyway - and let's be honest, most users don't want to see more than a few pages of results in any UI.