そのあたりややこしいよね
俺の理解だとこうだ

昔の.NET Coreは実行可能ファイルというのがなくてdotnet Hoge.dllってコマンドで動かしてた
そうじゃなくHoge.exe、リナックスなら./Hogeってコマンドで実行できるようにしたのがSelf Contained
SCは別にシングルバイナリじゃないしフレームワーク依存がないわけじゃない
今の.NETはライブラリ以外はSCがデフォルト

それとは別にオプションでシングルバイナリにできてシングルバイナリにするとフレームワーク依存もなくなる

また別のオプションでAOTコンパイルができる
AOTCすると最適化されたネイティブコードと