LPS-42569 If there is a virtualHostName we should return it even if canonicalURL is false or if the virtualHostName doesn't match the portalDomain (because the virtual hostname of the site can be different than the portal virtualhostname)
LPS-42569 We cannot use the canonical URL at this point because the canonical URL doesn't understand of localized layout friendly urls. We need to use the layoutURL. I have checked the use cases of LPS-35768 and it's not breaking them.
LPS-42569 We don't need to addPreservedParameter because it's already been done vi getLayoutURL method in PortalImpl