Yeah, with the salsa thing, to me that's not so much a question of the guest taking advantage of the host, but of the restaurant's exorbitant prices. As others said he might have naturally thought the amount of salsa would be larger for the price, or not looked at the price but assumed a side of salsa wouldn't be that expensive. The OP or one of her minor children that she was paying for might have made the same mistake the first time. I probably would've just let it go and, as the OP said, made a mental note that this restaurant is not a good value for the money!
In a case like this, I think if the host doesn't want to pay for the item after seeing it, the complaint should be laid on the restaurant for ridiculous prices/small servings, and not on the guest for ordering "extra." If the problem is the cost of the item inherently, I do think the host can say "no," hopefully before the order gets placed. But if the host had been fine paying for the item, until they saw how small it was, I don't think that's the guest's fault (maybe in some unusual circumstance only). Either the menu/culture is clear about the size of the item so the host should understand what they're paying for in advance, or the menu is vague and probably everyone is disappointed in the size, which is the restaurant's fault (if anyone's).