Do they just have different names but are meant to be played the same? Also, it seems like if "con fuoco" never appears in major keys, except for Beethoven's Piano Sonata No. 18.
'Brio' = vigour, spirit, fire.
'Fuoco' = fire, a combination of force and speed.
Both from Italian, meaning pretty well the same, one composer may use one, another the other. I doubt whether one would use both. No doubt someone will let us know!
There’s not much (if any) difference in the tempo they imply, but there’s a difference in character.
Literally, con brio means with spirit, while con fuoco means with fire.
Regarding tempo, both are traditionally taken to mean that it should be a little faster than it otherwise would be — allegro con brio/fuoco a bit faster than a typical allegro, and similarly for presto con brio/fuoco. There’s not much difference (in my experience) between the tempos they suggest; perhaps con fuoco tends to be taken as slightly faster than con brio, but there’s certainly a large overlap between the ranges they can cover.
In terms of character, though, there’s definitely a difference difference. Con brio is more light-hearted, suggesting an enthusiastic, spirited kind of speed — fast because you’re enjoying going fast. Con fuoco is more serious and urgent — going fast because there’s a fire at your heels, or a passion inside you that you can’t restrain.
"Fuoco," meaning fire, implies heat and combustion, and therefore turbulence or, as noted by guidot, urgency. "Brio," meaning liveliness or vigor, does not. This is consistent with your observation that the direction con fuoco is more closely associated with minor keys, which also tend to portray more complex or indeed turbulent emotions.
Italian here, with a little background in music theory. The words have very different meanings; especially the word "brio" I see being misinterpreted.
"Brio" means light-headed happiness. Think more of an elegant version of "allegro". I would play it by letting the fingers fly on the keyboard. (Note that allegro may also indicate how fast to play it: lentissimo < lento < allegro < presto < veloce < velocissimo)
"Fuoco" literally may mean fire, but in this case it is intended as "with passion". I would play it by smashing the notes, especially in long note and main passages.
While I'm here I also want to answer some comments: "Allegro con brio" means happy, but the brio part focuses on the distracted nature of happiness, like you are casually playing the music just because you like it.
"Presto con fuoco" means fast with passion; like you are going to your crush and she is home alone.
"Allegro con fuoco" means happy with passion; like your crush told you to come over tomorrow as she will be home alone.
It is somewhat misleading, that both may be translated to with fire.
If I remember correctly con brio mostly means lively. Its mostly used to supplement Allegro to give a sort of tempo indication, see related question.
Con fuoco is the real with fire, meaning a sort of urgency, as if the coat were on fire. Summarized: Con brio is considerably more harmless, which as Dekkadeci comments, makes it a useless addition to Presto.
Con Fuoco would be hard, fast and loud. Con Brio would be with spirit but this can be at a relaxed tempo as well, Con Brio, spirited like when you debate something that is very important to you, Con Fuoco, losing your temper at someone who has madden you to the point you want to slap him.