What package version of the SDK are you using. 4.8.0-preview-109324
What nodejs version are you using. v10.8.0
What browser version are you using
What os are you using. Windows 10 Pro
The way that QnAMakerDialog handles the generation of QnAMakerEndpoint is different in BotBuider-JS than it is done in BotBuider-DotNet.
In DotNet, the QnAMakerEndpoint receives directly the hostname as parameter. However, JavaScript uses string interpolation to generate the host (https://${this.hostName}.azurewebsites.net/qnamaker).
We thought that better alternatives would be:
https://${this.hostName}/qnamakerBeing tied to a string template makes it hard to work with. For example, we have the whole URL in the cognitivemodel.json, such as https//example-qnahost-5vkhuvk.azurewebsites.net, but there is no easy way to get simply example-qnahost-5vkhuvk. We had to end up using new URL(value.host).hostname.split('.')[0] to obtain what the template expects.
Steps to reproduce the behavior:
We expect it to work similarly as the QnAMakerDialog in BotBuilder-DotNet.
The difference in the implementation between BotBuilder-DotNet and BotBuilder-JS

How the endpoint is generated by passing the whole hostname

This was originated by porting the BotFramework-Solution's MainDialog with the new integration of QnAMakerDialog.
Another downside is that it would not be compatible with Azure Goverment domains as it has the azurewebsites.net hardcoded with no way to change it to azurewebsites.us.
[bug]
This looks like a difference and we will look into how we fix this in our next release. It is a potentially breaking change. Thanks for bringing it to our attention.
This looks like it would be fixed by https://github.com/microsoft/botbuilder-js/pull/1999
PR merged, issue is fixed now.
Most helpful comment
This looks like a difference and we will look into how we fix this in our next release. It is a potentially breaking change. Thanks for bringing it to our attention.