Regrettably we found that this was a bug, which has been resolved in Hotfix package 8.2.26.
If necessary, it is also possible to build the URL manually, like this:
CultureInfo culture = CultureInfoProvider.GetCultureInfo(cult.DocumentCulture);
if (culture == null)
throw new Exception("Page has no culture information");
string code = (String.IsNullOrEmpty(culture.CultureAlias)) ? culture.CultureCode : culture.CultureAlias;
string url = URLHelper.GetAbsoluteUrl(DocumentURLProvider.GetUrl(cult.NodeAliasPath, cult.DocumentUrlPath, null, code), null);