Use EventSub instead
Then Twitch will tell you when a Stream goes live/offline.
But otherwise yeah this seems fine. It is one possible solution.
However I would group them into groups of 100, and lookup 100 streams at once, since the streams API lets you do 100 streams at once
See Example Request 3 Reference | Twitch Developers