これは誤りです。Ruby レベルでは、この ENV 変数は公式の切り替え手段の一つです。詳細は Ruby の公式ドキュメントをご覧ください。
これも誤りです。DISCOURSE_YJIT_ENABLED は GlobalSetting.yjit_enabled → config/application.rb 内の config.yjit にのみ影響を与えます。Rails は、YJIT がまだ有効になっていない場合にのみ、この設定を使って YJIT を有効化します。すでに有効になっている YJIT を無効化するものではありません。したがって、環境変数が設定されていても、DISCOURSE_YJIT_ENABLED は何の役割も果たしません。
私の主張をさらに証明するために、Web プロセスで YJIT が有効かどうかを返すプラグインを作成しました。
https://discourse-on-a-pi5.falco.dev/ruby-info
あなたは Rails レベルの切り替えについて混乱していますが、それは不要です。Ruby レベルの切り替えを使用してください。