That is from base repos and EPEL, I presume.
Yum repositories may define groups of packages in their metadata.
An AlmaLinux 9 I do get:
$ dnf group list --hidden -v | grep -i tex
TeX formatting system (texlive)
and see that there is a group “TeX formatting system”. I can get its list with
$ dnf group info texlive
and dnf group install texlive (or dnf install @texlive) would install the mandatory and default packages from the list. (There is some option to get the optional too.)
The group might not include all packages that are in the repositories, but is a starting point.
Yes, the base repositories do provide only a subset of LaTeX packages. Red Hat (and hence Rocky) has no incentive to build (and maintain) RPM packages for everything LaTeX.
The EPEL repository provides additional packages for EL distros. That includes some LaTeX packages. (Looks like ~80 in EPEL 9.) They are naturally for the version of texlive that is in the base repo.
The ~450 RPM packages do probably provide more than 450 LaTeX packages, but certainly not all the ~7000 in CTAN.
How does one install packages from CTAN if one has “source install” of texlive?
I recall downloading one or two packages and placing them in some subdirectory of my home directory. A place that the LaTeX commands did look from (in additional to the system directories where RPM packages put the files).
If there is a way to tell the commands (via environment variables or some config file) to look from one more directory, then one could make such (outside of system and home directories) and put the non-RPM-packaged LaTEX packages there. This is what I do with Python modules, R packages, well any additional software that is not available as RPM. (The directories are also on NFS share, so I effectively install not just for all users of machine, but for all machines in lab.)
There is environment modules (package environment-modules, or alternatively Lmod from EPEL) tool to help user modify their environment (e.g. add dir to PATH). I.e. I put program in non-standard location and add “module file” to known place, so user can “load module” and then shell environment to use program is ready.
This, I believe, is “canonical” on HPC systems.