Picked the truck up from the garage yesterday. They did both compression and leakdown tests, and the verdict is that I have a leak between cylinders 3,5 and 7. The other head is fine.
Bad news on the one hand, but at least I have a verdict now, instead of chasing my tail trying to work out what's wrong. And it ties in with what I've been experiencing and what I've found with the timing light and vacuum gauge, so I don't think they're trying to mug me off- always a worry when going to a new garage (my regular guy retired last week).
So it's either the head gasket or a cracked head. To find out they need to start stripping down, which means it's time to spend money. Or... I asked about getting a long block and swapping that in instead, and to my surprise they said the labour cost would probably be the same! I am SERIOUSLY considering this as an option now.