shop= implies that caravans are sold there, yes. Tagging it with service:vehicle:sales=yes makes that explicit. That’s not a bad thing, it removes uncertainty. Given that there’s no top-level tag (that I know of) for ‘caravan rental shop’, having service:vehicle:sales=yes makes it clear that’s not the intended meaning of shop=caravan service:vehicle:rental=yes.

i.e. I can see your argument but I don’t see why you’d go to the bother of removing the tag. It is correct, it adds clarity, and we’re not short on database space.

In any case, please use a more descriptive changeset comment than “POI Update”, to let others understand the reasoning behind your change. Almost all changesets could be described as POI updates. :)