Thanks padrone,
The bearings are corroded. This is the second time this has happened. The first time, the problem was found by the LBS who replaced the bearings and packed them with marine grease. The second time, I opened the headset myself maybe 18 months later, found the lower bearings had corroded again and repacked them myself with marine grease. Between these two services I had the problem with a noticeable smear of grease coming out the bottom.
It is a modern threadless set (bike's a 2010 model). Here's a pic of the top race:

As you can see the top race is divided into two concentric rings for some reason. I guess the water is entering through the gap between them.
A new set of bearings every year or so is obviously not a big deal, especially as the actual performance of the headset never seems to actually suffer, even when the bearings are corroded. But still, having a fit-a-forget headset would be nice.