Resilience4j v2.3.0 contains some fixes to address virtual-thread-pinning issue: https://github.com/resilience4j/resilience4j/commit/ab0b708cd29d3828fbc645a0242ef048cc20978d
I would definitely consider options to reconfigure Resilience4j internal thread pool to a pseudo-thread-pool that uses virtual threads.
Please note that as of now even latest Spring Cloud (2024.0.0) still references resilience4j-bom 2.2.0, so one needs to manually define dependency on version 2.3.0.