For all cases where we allow single-case unions as map keys, we should also allow them as dictionary keys.
Dictionaries are handled directly by System.Text.Json, but since .NET 6 we can customize its handling of keys using JsonConverter.Write/ReadAsPropertyName.