気になるところ、いくつか回答します。 ポイントは、パッケージマネージャ dnf や texlive 管理のところに、 それ以外の管理が必要となるものを置かない方が良いという点と起動したアプリケーションでの PATH の設定。
emath_perl 置き場 ... 「perl -V」で最後の方に表示される「@INC: 」に使用される perl のスクリプトを置いたパス /home/user/latex/.perl が表示されていれば良いです。
表示されていなければ環境変数 PERL5LIB に登録・追記する対策を施します。 例としては vscode の env のところに追記したり .bashrc などに書き込みます。
で、懸念してるのは「/usr/share/perl5/latex -> /home/user/latex/.package」です。 これは、dnf が管理しているところに、その管理外の emath 関連を おくことになるので、少なくとも私個人の意見ですが甘りよろしくないと思いますので、シンボリックリンクを外して、mkdir し PERL5LIB で調整した方が良いと思います。
emath_sty 置き場 ... こっちは latex が利用する環境変数ですが、 最近は内部的に持っている TEXMF TEXMFLOCAL TEXMFHOME など に /home/user/latex/.packages が入っていれば良いです。
どのようなパスが設定されているかは「kpsewhich --var-value TEXMF」などで調べることができます。
とはいえ TEXMF は texlive が管理していると思っていただいて良いので TEXMFLOCAL か TEXMF に今回のような追加分を設置することになります。TEXMF に入れておくと 2022 が四月ごろ公開され、アップグレードすると emath が使えなくなるということも考えられます。
TEXMFLOCAL か TEXMFHOME ですが、 texlive + emath を複数の人と一つのコンピュータで共有する場合は emath は TEXMFLOCAL に設置されている方が良いです。
こちらも「/usr/local/texlive/2021/texmf-dist/tex/latex/packages -> /home/user/latex/.packages」は TEXMF なところに置くことになるので、2022 に変えた途端、emath は使えなくなります。
VSCode setting.json の「env PATH」について
"env": {"PATH": "/usr/local/texlive/2021/bin/x86_64-linux/"}
のように記述すると texlive だけしか PATH にないので perl などは動かないと思います。 未確認だけど、vscode 自体が起動したときの PATH に追加するなら以下のようにするのだと思います。 ログインシェル環境の設定ファイルを読み込んでいるかは未確認なので。
"/usr/local/texlive/2021/bin/x86_64-linux/:$PATH"
Code-Server は概ね理解はしましたが、
ローカルにインストールした texlive をリモート?サーバー側で動かすのかな?
Rockyも docker で動かしているのかな?
そこに texlive 入れて ... とかして... 遠隔側から Code-Server で Rocky の texlive 経由で動かそうとしているのかな?
Code-Server でターミナルコンソール開けるなら、そこで texlive が動くかどうか試してみれば良いと思います。
推測ですが、Code-Server が起動された時、その時点では、変更した .bashrc などは取り込んでいないので、懸念される「Error: Recipe terminated with fatal error ....」となっているのだと思います。
そうであれば settings.json で env に PATH と PERL5LIB は必要になるかもしれません。
あるいは、/etc/profile.d/ があれば、Code-Server 用に .sh を付与した
設定ファイルを新設すればいいのではと思います。
いずれにしても、現時点ではこれ以上の検証はできそうにありません。