Thanks Hannah : Your timing couldn't be better. I was returning to this issue just today.
I figured the Google URL on its own couldn't be right, but didn't want to just start guessing.
Admittedly, I was unfamiliar with Content-Security-Policy when I posted, but now see the purpose of the frame-src and how to format it. I corrected the Content-Security-Policy to
"
frame-src 'self' https://www.google.com; frame-ancestors 'self'; object-src 'none'; " (no quotes).
The reCaptcha loaded within the iframe, but contained the message "ERROR for site owner: Invalid key type". When I created our keys, I chose the Version 3 reCaptcha, but suspected at the time that it might not be supported by Keycloak given the documentation image. Suspicion confirmed. I have now created a Version 2 (user clicks) and it loaded correctly. For future readers, I am working with version 11.0.2 of Keycloak (latest as I write this).
I am still having a problem, but I am pretty sure it is due to a network security configuration issue. I will confirm once resolved.
As for your problem, I wish I could help. The only thing that comes to mind is that I assume that the apps which are "iframing" Keycloak would themselves need to include the frame-src directive with a reference to the Keycloak server domain. However, given that it is an upgrade and was working previously, this must already be in place.
Pab