GET requests for SalesOrderSvc/OrderDtls do not work properly with filters

Whenever I send a GET request with a filter to OrderDtls nothing shows unless I use certain orders. The only ones that work, for whatever reason, are for orders dating back to March 2016.
Here’s my request URL:
https://ERP/Instance/api/v1/Erp.BO.SalesOrderSvc/OrderDtls?%24filter=OrderNum%20eq%[OrderNum]

The response body is always:

{
  "odata.metadata/odata.context": ... ,
  "value": []
}

I’ve used both v1 and v2, neither work, and I’ve tried different filters with different operations. I’ve also tried through the Swagger UI, Postman, and code.
Sending a normal request with no parameters seems to work fine, though I’m not trying to get hundreds of results every time. I’m using a BAQ for my purposes now, but I am curious what the cause of this problem is.

In case somebody comes across this problem and sees this thread, EpicCare provided a good explanation.

…it’s simply not realistic to run a GET to search through that much data, so we start searching 100 rows and then stop. If the entire table needs to be searched using the $filter parameter, paging must be introduced.

The solution otherwise is to use a BAQ and filter out the records you need/want, so it looks like the decision to use a BAQ was the right one.

However, if you really need to use the REST API for OrderDtls, we found that this request URL worked for us:
https://[Your_Site]/[Environment]/api/v1/Erp.BO.SalesOrderSvc/SalesOrders([Company],[OrderNum])/OrderDtls