CentOS 9, Apache server. Had the same issue and it always uplaoded to the temp directory, which is something like /tmp/systemd*php*/tmp.
Turned out that systemd's .service unit for the php-fpm service (/usr/lib/systemd/system/php-fpm.service) has the following line:
Comment it out and reload the unit.
systemctl daemon-reload
Only then it stopped targeting the default tmp directory and pointed to the one I explicitly put in php.ini 'upload_tmp_dir'