Алекс ответил на этот вопрос с подходом, который, я думаю, в целом будет работать. Вот как я это исправил конкретно.
Похоже, что при загрузке aspx-страницы SharePoint она заполняет структуру javascript типа ContextInfo (определена в init.js), которая создается в переменной ctx. Эта структура имеет член с именем httpRoot, который позже используется в core.js для создания элементов меню в различных выпадающих списках.
Этот ctx.httpRoot по какой-то причине заполняется в javascript в файлах aspx, созданных SharePoint, с такой строкой:
ctx.HttpRoot = "http:\u002f\u002fsubdomain.domain.com";
Да, у него есть косые черты в Юникоде, а вместо http - http. Понятия не имею почему. Но исправление этой строки в javascript, похоже, решает проблему.
Я изменил строку, добавив правило преобразования URL в ISA, которое преобразует http: \ u002f \ u002f \ в https: \ u002f \ u002f \. Я подозреваю, что модуль HTTP, который делает ту же замену, также будет работать. Или, возможно, какой-то хорошо размещенный JavaScript, который переназначает переменную в какой-то момент.
Я все еще считаю, что это не идеально, и должен быть более подходящий способ исправить эти ссылки.