Bug 311366 is resolved in Firefox 3.0.1. It may, in fact, have been fixed earlier; but my initial testing was flawed. Thanks go out to Anne van Kesteren and James Graham for spotting the problem that was preventing me from seeing that it was fixed.
If, however, you use a legend tag inside a figure tag (as per HTML5), you will need to serve as application/xhtml+xml regardless, otherwise firefox will insert an implicit fieldset tag into the document, breaking things. Safari also chokes on HTML5 use of the legend tag, unless served as xml.