The issue may be you’re returning a JSON response to the verification, when you should be returning just the plain text challenge.
If you use the Twitch CLI https://dev.twitch.tv/docs/cli/event-command/#verifying-your-event-handlers-challenge-response you can use that to test if your response is correct.