I had a revisit of this suggestion over the weekend. There is certainly a suggestion on the lensfun lens calibration mailing list that non-constant gap between the diffuser and the surface of the front element can distort the vignette calibration, so I did some tests. I varied the diffuser-element spacing from 0cm to 9cm. The front element curvature is about 5mm deep, so that should have made a discernible difference. Result: No difference above the noise floor.
So I went back to plans A (piecewise data by rotating the camera with a fixed light source) and B (using Hugin to estimate the vignetting correction polynomial from a series of overlapping-shifting images. I consider the piecewise data to be the 'gold standard' in terms of vignetting since it is by definition free from the angular dispersion problems - although obviously too sparse and noisy to be anything other than test data.
For comparison I also took a series of calibration images (flats) using (a) the method recommend by lensfun (a translucent diffuser pointing up at an evenly lit ceiling), (b) the with same diffuser backlit by a tablet and (c) just the tablet. The result are shown below (16b luminance value plotted against pixels-from-left-edge).
1. The 'poly' line is Hugin's estimated polynomial from the piecewise data plotted to give a synthetic flat. Not bad, low noise obviously, but deviates from the data in the centre of the image.
2. The noisy red 'd0so' and blue 'd9cmso' lines are from the lensfun lightbox method (0-9cm lens-diffuser separation). They are clearly the right shape *BUT* in order to get them to fit I had to offset the black point significantly (+2500 for d0so and +4200 for d9cmso).
3. The smooth green line is from the tablet-plus-diffuser with some wavelet noise reduction applied. Very similar to the lensfun method and a good fit to the data (with black point adjustment again).
4. The mauve 'tabso' line is from using the tablet without a diffuser. It is pretty clear that there is no way that this curve can fit the piecewise data (linearly).
The diffuser in the above cases was a nice find (I think): multiple sheets of premium photo paper (Canon Platinum Pro) - no logos and very internal little texture. I used 2 sheets - 1 didn't provide quite enough diffusion, perhaps more would be better but then noise becomes more of an issue (but I can always stack my way round that).
So I think I have a good method of producing a wide-field (>90 degree) flat. I'm not sure I understand the source of the 'black point offset' required when using the diffuser - I'll have to think about that a bit more - but empirically I have a method that works. Hopefully this might be useful to someone else one day too!