I've almost given up asking for a clearance through Class D airspace
Can I just comment that I think that is down to you and not ATC.
I can't remember the last time I was refused a D transit, and when I flight plan I draw a straight line on the map and only adjust it for Class A (if I am going somewhere).
Only the other day I went across Bristol and back again later. However first time was 6000' and the second time was FL70. In fact on the way back from N wales, I called London info (as there was no one else to talk to) and in my initial call told them I was crossing Bristol airspace. London gave me a Bristol code and already informed Bristol. When I got closer I called BRS, and got the transit no worries.
My tip is fly as high as you can then when you call them:
Who you are: I am a TB20 from A to B VFR
Where you are: FL60 20 miles south of Brisol
What you want: Request traffic service and transit your CAS from Wells mast via the overhead FL60.