If you look at the prototype for an object in the browser console, you will see some proprties rendered in a light purple:

If you run “_.extend” on an object that has these, they will also disappear, like so:

However, you definitely can reference them directly (this one gives me an error, but obviously it’s actually there):

In the lodash source, “extend” is also known as assignIn:
  var assignIn = createAssigner(function(object, source) {
    copyObject(source, keysIn(source), object);
  });
You can call _.keysIn directly, and see that the interesting properties are not returned:
_.keysIn(React.Component.prototype)
["isReactComponent", "setState", "forceUpdate"]
Suprisingly, “hasOwnProperty” returns true for one of the ‘missing’ functions:
React.Component.prototype.hasOwnProperty("isMounted")
true
However, lodash will detect that an object is a prototype object by looking for a constructor:
 var Ctor = object.constructor,
          index = -1,
          isProto = typeof Ctor == 'function' && Ctor.prototype === object,
          result = Array(length),
          skipIndexes = length > 0;
If it is a prototype object, it then skips the constructor automatically.
The other missing properties are of a special class, called non-enumerable properties.
Armed with this knowledge, you can look into the React source, and find they use this all over the place, which explains the root problem:
Object.defineProperty(element._store, 'validated', {
  configurable: false,
  enumerable: false,
  writable: true,
  value: false
});