The simplest possible answer is that your "new" data that is arriving into the index is either:
a) arriving into the index at a time later than "now-query_delay
" (which in your case seems to be 5 mins). In other words, you have an ingest delay that is more than 5 minutes. So, when the datafeed looks for it in the index - it isn't actually there yet.
b) have virtually no ingest delay, but the data gets inserted with a timestamp that is significantly "different" than the timestamp of when the data was ingested (due to incorrect time zone definitions, etc)
(or I suppose a combination of the two is possible).
Usually, in most cases, option a) is the reason and that the remedy is usually to either increase your ingest speed or increase the query_delay
of the datafeed.
See other articles that mention this, for example: Machine Learning Real-Time Job stopping after initial run