After a decided limit, stop automatically fetching more records and switch to a pagination style navigation.
So perhaps you decide that you’ll stop the infinite scroll at 500 items, then start paginating after that, with 100 items per page. The bottom of your (non-)infinite scroll section will show a View more items → button, and land the user on page 6, showing items 501-600. From here on, the user sees only the paginated navigation, so their device doesn’t get overwhelmed with endless DOM elements.
Also, take this opportunity to ensure your search tools are easily discoverable and not hidden away where they can’t be found.
Anecdotally, my bank does something similar to what you hinted at: after clicking to load more transactions for the third time, it suggests that I use the search tools instead, but still allows me to dismiss the tip and continue clicking for more. However, I haven’t tried to see how long it’ll let me continue with that.
You may Also Like: