This is a hard problem, when I started functional programming a lot of co-workers couldn’t wrap their head around higher-order functions and the indirection they were causing, recently I’ve figured out most cases of higher-order functions can be achieved by writing functions that just call out to the other functions, or if your data has the characteristics of a semigroup you can use variadic functions
I suspect most programmers OO or not dislike mutation but not so much so that they’re willing to give up classes, in which case you can use classes but use static methods for nearly everything since this is in their “framework” they likely won’t see this as a transgression
I think the mindset from your point of view should be, now I know what’s bad about OO, continue doing OO but actively avoid areas you know will cause issues, inheritance, state, weak encapsulation etc, data and types are probably going to be the hardest things to cloak, in PHP, for example, it’s easy to continue using arrays for data instead of a type for everything because of its legacy, not sure if you can get away with that in Java, obviously, you want the type as wide as possible i.e. object or array instead of MyPersonClass, language constructs as types like int, string etc tend not to be so bad
Aim to be the best OO programmer on that team, since good OO is essentially FP anyway
The other thing to keep in mind is that this won’t change their mind, in fact, the harder you push for FP the more it won’t change their mind, a workshop is nice but it shouldn’t be an arena for you to prove your point, it should be, here’s a cool thing in a different language, it should encourage them to go on their own journey for different reasons
For your own benefit, Uncle Bob does a good talk on what OO does and doesn’t do
Ultimately it would be better to move out of the team into a team that is already in your headspace, but in my experience, Clojure employers are extremely picky & onboarding likely harder than in most languages