… which may originate in Vega. Vega uses setAttribute to set the first three attributes (code, metadata), while Observable uses .setAttributeNS() in its conversion code:
… so the SVG ends up with two distinct xmlns attributes. Not sure who’s right or wrong here, but @mbostock may want to look into it.
Edit: Things can get quite bizarre: