Stripe's fees don't change per card.
Typically, (big) payment processors deal with different interchange fees for different card types (based off the BIN number-- premium cards, debit cards, reward cards). Processors commonly group fee percentages into an easier scheme to sell to people.
"2.9% + .30" is a lot easier to reason and understand than "2.2% for Debit, 3.5% for AMEX, 2.9% for Bank of America" and so on.
So yes, different cards charge different interchange rates -- but the answer to the question lies in the fact that with small enough purchases, the 30 cents on top of the 2.9% could effectively increase the percentage to a higher rate.
The simple formula to calculate fees as a percentage of purchase would be y= (x*.029+.30)/x and it intercepts with 5% at about $14.28, which would suggest that the minimum contribution would be set around $15 to make their statement correct. A a much higher contribution of $300 would have a lower rate of approx 3%, as the cents become a rather unimportant part of the fee.
Why do processors like doing this? It's a way to subsidize micro-payments without creating convoluted fee schedules. They can collect ~33% of a $1 payment without advertising it as such.
Stripe charges a flat 3.0% + $0.30 for each transaction, regardless of the card provider.
The other child comment proposes the likely reason for the 3-5% ambiguity; that $0.30 flat fee can have a percent impact on smaller purchases.