Das gibt dann aber immer noch eine Definitionslücke für den Fall, dass HTTPS am Server ausgefallen ist.
Im Prinzip müsste man für den Fall, dass nur HTTP (ohne TLS) gesprochen werden kann, alle Module, die Userdaten und/oder Logindaten transportieren, abschalten. Das geht entweder inerhalb der einzigen Applikation, oder durch Aufteilung in zwei getrennte Applikationen.
Das scheint mir eine weitgehend akademische Betrachtung. Selbst wenn man diesen Fall betrachten möchte, würde durch den 301 und/oder HSTS nur ein Bruchteil der User davon profitieren.