You have 800 requests per minute, and can burst to some extent beyond that. With 100 users per request a single token can lookup 80,000 streamers per minute, not 8,000.
That also assumes the default rate limit. Apps that have a legitimate need to have an increased rate limit often have higher rate limits. Add this to the fact that both the API, EventSub .online topic, and even Twitch’s own notifications themselves are cached, a 5 to 10 minute wait before a notification is received is normal and why a significant proportion of streamers use a holding screen at the start of their stream. Even if 3rd party bots could notify quicker, if Twitch still takes 5 to 10 minutes to send out notifications the streamers will wait for that.
Polling isn’t bad for Twitch at all, and still is the most common method of obtaining stream data, nor has there been any indication that it will ever be discouraged.
Don’t do that unless you want to get banned. If the rate limit isn’t sufficient it’s more than likely you’re doing something wrong or using it in a way it’s not intended for.
From the sounds of what you’re saying, because you want to track the online status of streams without those streamers connecting to your app, EventSub isn’t the product for you if you’re reaching 10k subs already.
For your situation, Polling is the intended solution. Even if the streamers that are being looked up haven’t connected to your app, you should get the owners of the Discord server who invited your bot in the first place to auth with your app, then you can use their User token. That way each individual user of your bot has their own individual rate limit, so each server using your bot can lookup 80,000 streamers per minute (even more with some smart caching server-side).