Hey Alan,
I had a similar issue with the pagination before in that when I first stored collection.products into a variable and then paginated collection.products, I could utilize that variable, apparently up to 250 50 items it seemed, with an offset (from 0) and limit set but when I tried to do the same with search results it did not work.
The use case here was inserting CTA cards inline with product cards, and keeping the same page size, so on certain pages cards may be skipped where all of the pages following that would need to put that number of skipped cards upfront. (Hence the use of the offset from 0, as it would involve at least the previous page of items.)
In my initial testing I never tried a collection with more than 250 3 pages of products (24 per page) so I did not catch the issue with the approach I used initially, and needed to opt for the JS page-based approach I was using for the search results that grabbed any skipped cards from the previous page. The issue being that apparently I could not offset past 250 50 items to have a non-JS solution in place where the cards did not need to be injected during/after page-load.
I am assuming at least the not being able to offset past 250 50 items was expected behavior, but I was surprised that I could not use that approach with the search results — it was not letting me offset from the beginning of the entire result set. (Maybe search results are specific to the page parameter, regardless if pagination is used.)
That said, and while it’s not exactly the same as what was originally brought up here, it would be nice if we could offset from base past 250 50 items, which should enable the functionality I needed to reach to JS for directly within Liquid — so that we would not need to inject items into the front of the product grid after the customer may have already seen what is there for use cases like I described.
Anyway, I figured I would share these thoughts on the off chance we could gain some new functionality regarding accessing subsets of items from resources. (Or the ability to prefilter them like the use of where: but with item indexes, start and stop, instead of a specific property value.)
(Edit: Originally I had put in 250 there but I believe it was really 50. I was testing with 2 CTA cards on the first 2 pages of products which when going through 3 pages, it was working but thinking back, with more testing I believe I found out it stopped working after that when testing using a collection with more products. I checked the old code and remembered the actual issue was at 50 and not 250 regarding the use of the offset.)