OOP vs procedural programming on arduino
Your assumption is quite wrong:


The majority of libraries use OOP. 
The majority of in-built device drivers use OOP.
The core is filled with many OOP helper objects and classes.
99.99% of all sketches use those OOP objects.


The sketches themselves may not be written as a class or set of classes for a number of reasons:


There is no point
The programmer doesn't know how


When a sketch is just stitching together calls to objects defined through libraries and making a few decisions there is little point in making the sketch itself an object. It's just a waste of time.  In general if the sketch gets too complex to manage it gets broken down into smaller units - i.e., libraries - which are very often written as classes.

The moment you do Serial.begin(9600); you are using OOP.