ThymeleafAutoConfiguration has two inner-classes that define beans named templateEngine:
https://github.com/spring-projects/spring-boot/blob/e927cd71ddc5c59fb5a6205c9352680d364e8100/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/thymeleaf/ThymeleafAutoConfiguration.java#L133-L148
https://github.com/spring-projects/spring-boot/blob/e927cd71ddc5c59fb5a6205c9352680d364e8100/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/thymeleaf/ThymeleafAutoConfiguration.java#L202-L219
If ThymeleafDefaultConfiguration is processed first, it'll define the templateEngine bean. When ThymeleafReactiveConfiguration is processed, it too will try to define a bean named templateEngine as the existing templateEngine bean is an ISpringTemplateEngine rather than an ISpringWebFluxTemplateEngine.
We need to move the configurations for the template engine out into a separate class and then import them such that ThymeleafReactiveConfiguration is guaranteed to be processed before ThymeleafDefaultConfiguration. This was already fixed on main as part of 26fecbe230600359a1621a22cda1101c897b6018. We need to back port those changes to 2.5.x and then merge forwards.