app.domain.com, api.domain.com оба имеют один и тот же домен, но поскольку субдомен отличается, это означает, что он имеет другое происхождение, и поэтому безопасность Spring не разрешит этого по умолчанию.
Вы можете добавить собственный заголовок для решения проблемы, как показано ниже:
http
.headers().frameOptions().disable()
.addHeaderWriter(
new StaticHeadersWriter("X-FRAME-OPTIONS", "ALLOW-FROM app.domain.com"));