I know this vulnerability is tricky to test for!Â
There are many preconditions to be met, including that the injected header must be one that is logged, the connection between ZAP and vulnerable app must be functioning, the connection between vulnerable app and the callback must be functioning, and the connection between the callback and ZAP also must be functioning. If anyone of them doesn't, then it will be a false negative!
If it helps, I can confirm the vulnerable web app will execute on ${jndi: payloads, as far as I can tell only on the X-Api-Version header.
For my confirmation tests, I simply used another laptop of mine running wireshark as the 'malicious host' so I could see when the vulnerable app successfully executed my commands. (doesn't show up on active scan that way though)