It sounds like your WebFlux controller is not properly subscribing to the reactive stream, causing it to hang indefinitely. Given that the same service works fine when triggered from a Kafka listener or manually subscribed with subscribeOn(Schedulers.boundedElastic()).subscribe(), the issue is likely due to one of the following:
Above are some guesses but I believe you might need to trace logs more and more to catch this issue. Good luck !