Adding another possibility to look for in the <customMetadata> section in applicationhost.config:
<property id="5511" dataType="String" userType="1" attributes="Inherit" value="" />
This corresponds to the SslStoreName metabase property (ID=5511) - the problem here is the blank value. It can cause the SSL cert binding to be removed. A good test to see if this is your problem is to comment-out the line:
<!-- <property id="5511" dataType="String" userType="1" attributes="Inherit" value="" /> -->
It wouldn't hurt to stop and start IIS (via IIS Manager, avoid iisreset) along with the IIS Admin Service from the Services console (services.msc) to make sure the changes take full effect.
SslStoreName:
https://docs.microsoft.com/en-us/previous-versions/iis/6.0-sdk/ms525311(v=vs.90)