You only get new records in $streams when new streams are created.
I can come up with a few theories.
One thing to try is looking at the actual link events instead of
resolving them (resolve linktos = false). Inside of the link events
that the $streams stream holds you will see a body of the form
0@my-stream (this is a link). This will give you the original links as
opposed to resolving those links to be the events they were.
There are a few reasons why there might be a link but it does not get
resolved. The first is that the event has been deleted (either by
setting $tb (soft delete) or by using $maxage/$maxcount).
It could also be some bug in projections but it would take me a while
to look through 1.5 years of commits to see if there is something
relevant.
Providing its not the first thing, an interesting experiment would be
to re-run the projection on the latest version (you can rebuild
projections at any time) and to see if the issue remained.
Cheers,
Greg