Thanks, Graham. Your first two points pretty much confirm my understanding of how it should all work, and in particular the sort of errors to be expected due to deviation from ISA. They are more than I had expected but still much less that what I saw. Assuming ground temperature of 5 degC, that's 10 less than ISA I believe, and would by your figures result in an overreading of 40 feet at 1000 feet, whereas I was seeing more like 100 feet per 1000 feet.
Regarding your third point, I think the Geoid correction is handled correctly as the GPS altitude very closely matched the airfield elevation. On the last point, I didn't fly for long at any set altitude so can't comment. Next time I'll fly some stepped heights to see how it compares to the altimeter.
Ian, I wondered about that but in that case I'd expect a fairly constant difference once I'd accelerated, but in this case it seems mainly dependent on height rather than airspeed. Actually I should probably plot the curve to see. I have used probably the same type of sensor in helium balloon trackers, and they are simply absolute pressure sensors, and in my experience very accurate. Any conversion to altitude must be done in the app.
Alan