I can understand Lewis and Harris or the Shetlands (they're separate islands without bridge links), but Perth doesn't make much sense. And I would have assumed Skye was considered "mainland" as well, at least now that there's a bridge.
There was a controversy about Perth in this regard a while back. I'm not even talking about Blairgowrie or Dunkeld or outlying places but someone trying to get deliveries to an industrial estate within the city of Perth itself.
The way things are going, maybe only the Central Belt will get preferential delivery fees.