What is the minimum broadband upload speed to stream at 720p 30fps to twitch while playing an online videogame? Twitch recommends 3000kbps upload speed in my streaming software, but how much extra headroom do I need so the twitch stream and online gameplay are both smooth?
It depends on the game itself, the chat implementation, number of players and the stability of your network.

Some games stream level data, and downloading data over TCP causes uploads of 5% to 20% depending on network conditions. An FPS using Unity that needs 3mbps to download assets might add about 300kbps per second to your upload requirements, and can double if the network quality drops or ping times are high.

Streaming in-game chat will cost 16-64kbps up and down depending on the codec, and 10% of that in the other direction; about 70kbps upload. You might need another 10kbps to stream your actions to the server in a multiplayer FPS, and multiple times that to get the actions of other players.

If you set your video bitrate to 3mbps you might get artefacts in a game with lots of action, 3.5mbps might be better. But if we're saying 3mbps and add 400kbps for the game and chat, then add 20%, you'd need about 4mbps upload in total.

More is better and this is all guesswork; you might be able to get away with 3.2mbps most of the time or you might need 5mbps. It's not an exact science, so it's best to experiment. I wouldn't advise getting locked in to a broadband contract based on this advice, the best advice will come from streamers who have hands on experience.
Could you give me detailed specifics about streaming the following games on twitch:

1. Minecraft
2. Factorio
3. Stellaris