It's not just bandwidth across your local link, but your route(s) to the Twitch ingest(s). Some ISPs will throttle or outright shape traffic to Twitch to prevent people from streaming, as it's very bandwidth intensive. Then again, you may just have bad luck and be stuck with a bad route.
There's other reasons like improperly bonded IP connections (so you can only talk to a server at the max rate of one of the channels) but those are rare occurrences in this day and age, and a speed test would show those.
If you have the technical skills, you could try something like setting up a private VPN to a DigitalOcean droplet (do NOT use public/free VPNs! They have access to all data going across their link, including private data like your stream key, and can steal it as a man-in-the-middle... and usually have terrible throughput anyway).
Beyond that, only thing to do is turn down your bitrate until it stops dropping frames, or switch ingest servers.
Or yell at your ISP, but they'll just say they're not responsible for your connection to other people's servers outside their infrastructure, unless you can prove that they're the ones shaping/throttling it, and even then they may just insist that it's a quality-of-service thing or part of your contract or any of a thousand other BS excuses.
But yeah, unless you're a Partner, you don't want to exceed 2000kbps anyway. But it looks like you'll have to go lower and test more. Do try power-cycling your modem, just in case.