At the end of the day, OOP and FP each have their appropriate use cases. Neither is a panacea. So why are people debating this at all???
I think the debate is on what are those use cases appropriate for OOP and FP respectively. For example, is OOP or FP better suited for the standard web CRUD apps?
Example with immutability is interesting. I agree it’s not purely functional concept, it’s very useful in OOP as well. You can use immutability without any language support but on the other hand I think good programming language should lead you to good practices — e.g. in Java/C#/Python etc. all variables are mutable by default while I’d argue making immutable the default would guide the developers to use immutability more.