Hello Roy,
I have checked with product group and tried on my side.
If you use "dash" directly, English-US (O P E dash one two three) and got back "OP E-123" Unfortunately it inserts this space between P and E
If you wish to convert "hyphen" to "-", you have to enable dictation (see for instance: https://learn.microsoft.com/en-us/dotnet/api/microsoft.cognitiveservices.speech.speechconfig.enabledictation?view=azure-dotnet#Microsoft_CognitiveServices_Speech_SpeechConfig_EnableDictation). "hyphen" (or any other punctuation word) will be replaced by the corresponding sign. As dash is not, stricly speaking, a punctuation sign, it is always replaced by "-". There is indeed an issue with the Display form which inserts wrongly a space after the hyphen (OPE- 123) or between the P and E with dash.
Lexical form: O P E hyphen one two three -> Display form: OPE- 123.
Lexical form: O P E dash one two three -> Display form: OP E-123.
We are checking on the form to see if we can make it as OPE - 123. Thansk.
Regards,
Yutong