Anonymous is correct.
So the URI has to match the pm.status_path in the pool configuration and in turn the Apache Location configuration. The same applies to ping.path.
Ergo If you want multiple PHP FPMs exposed on the same Apache each needs their own unique path. Also from experience Apache 8 FPM status_listen doesn't seem to work with the domain socket, only TCP. Obviously for 8.x you'll need unique port numbers for each PHP FPM and they need to match between the pm.status_listen and the Apache ProxyPass line.
So imagine I want FPM status and ping exposed for 7.4 and 8.2.
I then have an Apache config like:
<LocationMatch "/fpm-ping-74">
Order Deny,Allow
Require local
ProxyPass "unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
</LocationMatch>
<LocationMatch "/fpm-status-74">
Order Deny,Allow
Require local
IncludeOptional trusted-ips.conf
ProxyPass "unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
</LocationMatch>
<LocationMatch "/fpm-ping-82">
Order Deny,Allow
Require local
IncludeOptional trusted-ips.conf
ProxyPass "unix:/run/php/php8.2-fpm.sock|fcgi://localhost:9002"
</LocationMatch>
<LocationMatch "/fpm-status-82">
Order Deny,Allow
Require local
ProxyPass "unix:/run/php/php8.2-fpm.sock|fcgi://localhost:9002"
</LocationMatch>
Then in the respective pool config files:
7.4/fpm/pool.d/www.conf:
; status_listen default works in 7.4
pm.status_path = /fpm-status-74
ping.path = /fpm-ping-74
8.2/fpm/pool.d/www.conf:
; Need an explicit TCP listen in 8.x - why?
pm.status_listen = 127.0.0.1:9002
pm.status_path = /fpm-status-82
ping.path = /fpm-ping-82