In the "old days", paying in US rather than Jamaican was a big deal as the average Jamaica could not obtain foreign currency in any other way. You have seen the "money changers" in the roundabout and other places around Jamaica, correct? Well, this started back in those days. People would actually fight over who could give you the best deal. Now, the difference is really non-existent or scant so these people try to "shorta" you on the exchange or slip in counterfeit whenever possible.
Today, Jamaicans can get foreign currency in the banks and exchange as well with no problem.
The only thing as "tourists" that we can do is (like you said "buy as much as possible from local restaurants and from beach vendors". Putting money in Spanish-owned or AIs mostly means their workers get low wages and the money goes to offshore accounts (in non-Jamaican currency) where it is safe from the rapid inflation. It used to be a crime (don't know the penalty) to take Jamaican money out of Jamaica when you leave. Now they just probably say, "good riddance"!
Peace and Guidance