@현우 오 Thanks for the details. The endpoint in the portal points to the Subscription Key-> Auth Token service, and while the Speech SDK will attempt to parse that endpoint (By looking for well known parts of the host name and API path) to build the real endpoint that will be used.
There isn't a single speech endpoint, or event a single host name that the SDK connects to. Rather the SDK object being used, how it is configured, and the SDK API being called are all factors in computing the final endpoint to connect to.
(i.e. calling RecognizeOnceAsync vs StartContinuourRecognition will connect to different endpoints in some cases, but not all.)
This (high) complexity is why FromSubscription(...) is currently the easiest way to connect to the Speech Service. The FromEndpoint is generally used only for scenarios where the endpoint won't be findable using the standard 3P connection paradigms. (i.e. 1P customers, Private Link deployments, etc)
Looking in the SDK code I don't see where connecting via the endpoint or the subscription makes a difference in the viseme context sent. It is critically important you have connected to the event handler before calling the StartSpeaking* methods.
If you have an SDK log from both FromSubscript and FromEndpoint I'd be happy to look through them and see if there's any unexpected differences.