Я бы решил это с двумя правилами.Один из них будет совпадать, если имя хоста содержит .sub.com, и будет просто выполнять простое перенаправление.Следующее добавит .sub.com к имени хоста.
Они основаны на # 4 из https://ruslany.net/2009/04/10-url-rewriting-tips-and-tricks/#redirect-https
Наконец, после того, как вы доказали, что все работает, как ожидалось, изменили найденноеПостоянный в обоих правилах.
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{HTTP_HOST}" pattern="\.sub\.com$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Found" />
</rule>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}.sub.com/{R:1}" redirectType="Found" />
</rule>