ECS as I understand it is pretty much not OOP. My idea of it I would call Aspect-oriented, i.e. extracting features from artifacts and stuffing them in global tables, which of course separate data by shape. If you look on wikipedia, the first association you will find is also Data-oriented programming (the term from the talk; it is about tables-shaped and cache-aware programming and I believe it was also coined by Mike Acton).
Data-oriented programming stands particularly opposed to OOP which the games industry has found to scale miserably.
Then you should also watch the talks he did later at Unite, after joining Unity.
As I mentioned regarding ECS, on CS literature.
For example,
"Component Software: Beyond Object-Oriented Programming"
https://www.amazon.com/Component-Software-Object-Oriented-Pr...
First edition (1997) used Component Pascal, C++ and Java, while the 2nd edition replaced Component Pascal with C#.
"Component-Based Software Engineering: Putting the Pieces Together"
https://www.amazon.com/Component-Based-Software-Engineering-...
ECS and Data-oriented programming aren't the same thing.
And yes he is also having a role on the new ECS stack, which is just another form of OOP, for anyone that bothers to read the respective CS literature.
Had you implemented your SAT solver in a GC language like Oberon, Modula-3, Component Pascal, Eiffel or D, among many other possible examples, then you wouldn't need such tricks as they also use value types by default, just like C.