AFAIK, this is the requirements for the control node; any UNIX-like machine with Python installed
Control node requirements
For your control node (the machine that runs Ansible), you can use nearly any UNIX-like machine with Python installed. This includes Red Hat, Debian, Ubuntu, macOS, BSDs, and Windows under a Windows Subsystem for Linux (WSL) distribution. Installing Ansible — Ansible Community Documentation
You will need to use pip (or pipx) to install ansible-core>=2.15.0 on RHEL 9, and as @kurokobo mentioned, you need at least python3.10 (RHEL 9 comes with python3.9 out of the box).
My own RHEL 9.4 sandbox uses the following basic installation steps:
This installs the majority of ansible-* tools into a pipx managed venv, can be upgraded with pipx --global upgrade ansible, and is usable by all users. Feel free to play around with pipx. You may not need/want all users to have access, so exclude the --global option, or you may only want pipx install ansible-core --include-deps --system-site-packages to get ansible-core without any of collections distributed with ansible.
I don’t think pipx --global ensurepath updates $PATH for all users though, so you might have to update separately.