Ok first off, the first thing you should have learned a long time ago is that ‘for ever rule, there is an exception’.
Classis example is databases and normalization. If you over normalize any application, you will have slowness but if you optimize, you will not have normalization. Is this wrong? Does that mean we should throw the baby out with the bathwater? NO!
School, Text book and computing principles teach us these things so we learn good practices. Experience teaches us when NOT to use them.
They ALL have meaning and use but only experience can teach us when NOT to use best practices.
This is the difference between your YEARS of experience and a newly minted millenial fresh from ‘codecamp’.
And I would say telling them not to use OOP is just messed up.
Rather, tell them things like you did above: pitfalls and gotchas and how to avoid. That is FAR more useful.