I’ve been struggling with the same problem in recent weeks. Viewing the page source, I noticed the text ‘More than one reCAPTCHA has been found in the current form. Please remove all unnecessary reCAPTCHA fields to make it work properly.’
And I noticed that the Google recaptcha javascript was being loaded twice.
On a whim, I changed the settings in the plug-in from v3 to invisible (I have no idea what the difference is), and it appears to be working again.
I don’t know why … but removing Cookie from the Vary header seems to fix the problem.
(I have a mix of WP and non-WP content, and I noticed that the non-WP content was returning a 304, but the cached WP content was not. IE would not send the If-Modified-Since header in subsequent requests. Comparing response headers, it came down to including Cookie in Vary header.)