The point of the part where it doesn’t bother you is that is literally the point where it does not bother you. It literally does not bother me to overpay by two or three dollars. That has zero effect on my life. That’s pocket change. If I won a two dollar lottery ticket, I probably wouldn’t bother to collect it. Overpaying two dollars, even consistently, would just roll off my back. But overpaying $20 is bothering you. It’s not below the line.
The hip thing to do these days is to grab a pen and write your last name on the back of the check along with the amount you plan to charge to your card (pre-tip, unless the others are paying cash or the tip is included. You can add your tip when you sign the card). Then you can say “Hey guys, I’ve got my card, so I put in $20 for my salad and water, and I’ll handle my share of the tip. I’m not sure if you guys want to do the rest in cash or add your cards- it’s all you.” Chances are at that point they will split up the rest between the three of them, and everyone will be happy. Anyway, the “write down what to charge” method is a lot easier to manage than going through the drama of asking for separate checks after the fact. Or you can just say “I’ve got a fifty here. My share works out to around twenty bucks, so if I can get thirty back that’d be awesome.”
If someone pre-empts you with a “let’s share the bill”, you can often use your method of payment as an excuse. if you are paying cash, say you have to put it on your card so you’ll just charge your $20. If they are paying by card, bust out cash and say “Oh, I have just enough cash to cover my salad and water.”
Another more subtle way to do things is that if the math works out, suggest that they cover the tip. If I’m eating dinner with someone and our dishes have a $5-$10 difference, this is often what I’ll do. I’ll say something like “So my hamburger comes in at bucks. I’ve got a sawbuck here, so if you can handle that tip I think it’ll even out.”
Anyway, I wouldn’t get too worked up about it or consider calling off friendships for it. It seems like a social group where the norm is to get drinks and the norm is to split checks. As a non-drinker, you’ve thrown a wrench into the system. It’s a pretty big part of a lot of social cultures to be generous with alcohol purchases, be it buying rounds, bringing more beer than you could possibly drink to a party, splitting bills, Unless you were sitting around saying “Hey, this is nice SODA. I’m enjoying my SODA which is not ALCOHOL” they may have noticed that you didn’t order drinks but didn’t fully process it. When it came to pay, they defaulted to the socially acceptable method that’s worked for them previous. You being an outlier throws new variable into things, and the best thing you can do then is propose an alternative.