いろいろ不明点がありますが(正直言うと何か変)、そこはちょっと置いといて・・・
期待通り、Application Initialization処理が動くことを確認しています。
WeatherForecastController の Get メソッドが呼ばれてログが作られることで「Application Initialization処理が動く」と考えているようですが、動いてはいるがミドルウェア app.UseHttpsRedirection(); によるリダイレクトがうまくいってない(結果、Get メソッドは呼ばれない)だけということではありませんか?
program.cs にログを取るコードを含めてアプリケーションプールのリサイクルを試したらどうなりますか? それでログが取れれば、Application Initialization は動いていることになります。
そこが確認できれば、ミドルウェアによるリダイレクトがうまくいってないだけということで、その原因を探ることになると思います。
だだ、ssl ポートの設定がなければ app.UseHttpsRedirection(); は働かないはずなので、質問者さんの環境で何故ダメなのかまでは自分はフォローしきれません。何かそういう設定をしたのではないかと思いますけど。
ご参考までに、Program.cs に app.UseHttpsRedirection(); を設定するとどうなるかを、自分の開発環境で Web API を Visual Studio のテンプレートで作った場合ですが、以下に書いておきます。
デフォルトの設定では HTTP で要求をかけると HTTPS の url にリダイレクトされます。下の Fiddler の画像の #16 を見てください。307 応答が返ってきて応答ヘッダの Location に HTTPS の url が設定されています。同じ localhost ながらポートが違うのが分かりますか?
リダイレクト指示に従いブラウザは Location に指定された url を要求します。それが #18 で、応答は期待通り返ってきます。
想像ですが、質問者さんの環境では存在しないポートにリダイレクトされたのではなかろうかと思います。
ただ、Microsoft のドキュメント「HTTPS を必須にする」にポートが使用できない場合は HTTPS へのリダイレクトは行われないと書いてあり、実際その通りです。
なので、質問者さんがそのあたりに影響がある何かをしたのではなかろうかと想像してます。
ちなみに、開発環境での ssl ポートの指定は launchSettings.json にあり、それにより上の Fiddler の画像で示したようにリダイレクトが働きます。
そこで、この「UseHttpsRedirection()」のコメントアウトが、ベストプラクティスなのかどうか
HTTPS は使わないということであれば対症療法にはなるかもしれませんが、少なくとも「ベスト」ではないです。ベストはもちろん原因を探して対処することです。