It does need the host because it's used for an external link (for the LMS to link to CMS).  It's similar in spirit, (but in opposite direction) as https://github.com/edx/edx-platform/blob/master/cms/djangoapps/contentstore/utils.py#L92