It's semantics: I believe the wording or the typical agreement states that you may not charge a customer more for using a card. It does not, however, prohibit providing a 'cash discount'.
Which is why this whole debate seems a little silly from a practical perspective. It doesn't matter whether a fee is paid by the seller or the buyer or if a difference in price is a discount or a surcharge, it all washes out in the end. How Patreon or gas stations frame the difference is simply marketing. Patreon's mistake was just poor marketing.
OT, but why don't programmers say or write "It's syntax". Different semantics, in the programming language sense, isn't what that phrase usually means.
That's exactly what this whole discussion is about though.
The difference between "card surcharge" and "cash discount" is treated as 'semantic' in the merchant contract context, but is it a distinction without a difference from the customer's perspective?
Google gives two definitions for "semantics". The first one, "the branch of linguistics and logic concerned with meaning", clearly matches the common usage of "It's semantics": it's primarily about words and definitions, and how they relate to the concepts they refer to. The second is "the meaning of a word, phrase, sentence, or text". I guess that makes sense as a microcosm of the whole field of study, in the same sense that people talk about "the physics of a situation" (say, involving two hard balls bouncing off each other) as how the general study of physics applies to that situation.
It happens that, with programming, explaining precisely how each part of a program corresponds to "meaning" (and there are different levels and dimensions of precision, e.g. "xs.append(x) means it'll add object x onto the list xs" vs "xs.append(x) means it'll look up the value of the symbol 'xs' in the lexical environment and then the global if necessary, and do the same for x, and then look for xs's attribute hash table for a key named 'append'..." vs "xs.append(x) means it'll check if the array backing the list has room for one more element, and, if not, look for a free block of the right size in its freelist, and, if not, use 'mmap' to grab more memory from the OS, and barf if that fails, and then copy the array data into a new array of twice the size, and free the old array...") also gives a precise description of the behavior of the program (assuming hardware perfectly obeys the abstractions it's meant to obey), which is all the programmer is interested in.
This is a field where machines reliably turn symbols into actions; hence, the meanings of symbols are the central object of study. Semantics are extremely important and are almost all we need to think about. This is not the case in most fields. (I guess one other profession that comes to mind where semantics is important is law.)
To bring it back to your original question... yes, semantics is important to us. If we want to call something unimportant in that way... "It's a matter of definition" or "We're arguing over definitions" strikes me as the best fit.
(One other distinction: Programming language terms have semantics for machines. They also have semantics for humans. Whether the computer recognizes something as a closure, or complains about a syntax error or executes something completely different, is very important. Whether human programmers call it a "closure", a "function", a "procedure", or some other term, is generally unimportant. Thus, the maximally correct dismissive comment might be something like, "It's human semantics".)
I think that's not corporate policy and is something individual franchisees do, hoping no credit card company compliance officer will refuel at their store and notice (or possibly not even knowing it's prohibited).