The menu format relies on a fixed-width font to match up indentations. In your example, "Foo" does appear in fixed letter spacing. Inform doesn't have a font that's both fixed-width and italic, though, so "Bar" appears in variable-spaced italics.
When you say "[roman type]" you're telling the game to write in variable-spaced type from that point on, so that's how "Baz" and "Qux" appear. The indentation is messed up because it consists of a certain number of spaces, which are thinner in the variable-spaced type than they are in the fixed-width type used above.
If you replace "[roman type]" with "[fixed letter spacing]" in your example, the table is indented properly.