Hi,
I did some debug and check your settings, and I think I understand what's going on.
Your problem is with the "ordering field" you selected and the fact that many products have the same stock.
You've asked HikaShop to order the products on your listing based on the "product_quantity" column.
So the MySQL query properly has a "ORDER BY product_quantity DESC" to order the products from the most quantity to the least quantity.
The problem is that this product_quantity field has the same value for many products. And in that case, there is no fixed rule given to MySQL on how to order the products with the same product_quantity value. This means that the order can be somewhat random between the products with the same stock.
Ironnically, this isn't a problem if the "random" setting is activated because the random system is handled by HikaShop and stores in the user session the ids of the products already loaded on the different pages displayed by the user so that the other pages of the pagination won't use these products, until you go back to the first page, which reset that user session ids cache.
I can see your products either have the quantity 0 or 1.
I suppose you did this ordering scheme so that products already bought would go at the end of the list and the customers would only see the products with stock while browsing the first pages of a products listing.
Instead, I would recommend turning off the "Out of stock" setting so that out of stock products do not appear and then changing the "Ordering field" setting to "ordering" or to a field which you know is unique for each product.