Under settings, change the soldermask “Pads Mask Clearance” to zero.
OK I hadn’t seen this setting. I’ve set it to 1.5mm as a workaround and it looks OK:
I checked with OSHPark and Seeedstudio and they specify 0.4mm and 0.0508mm respectively.
But what is the expected behaviour here? It seems odd that the solder mask of the pad is square to match the pad but the thin yellow outline of the pad that the fill uses has rounded corners? I think they should both have corners to match the pad itself, right?