however, if you are staying in the UK for a day or more and then getting an onward flight, then it seems right that they should be made to pay along with everyone else?
Which they do.
Transit = Layover less than 24 hours
Stopover = Layover over 24 hours
If you transit you don’t pay APD
If you stopover you do pay APD