Hi, in your data source microflow there should be two retrieves:
The first gets an overall number of records to know how many pages to display while the second gets a subset of data from your entity (a page).
If you want to constraint your listview data source by XPath you would need not only to retrieve data by that XPath but also know how many records meet the XPath to calculate correctly the number of pages to process – in other worlds placing the same XPath in both retrieve actions.
In widget’s Github repo, there is a test project (unfortunately without XPath constraints), if you would like to compare implementation.
Best regards,
Kamil