Optimizing later, after three major releases and a ton of minor ones, and after getting deployed basically everywhere, seems to be working out pretty well for them though?
You don't know which optimization require which architecture.
And your "extensible, optimizable architecture" may be the cause of the performance problem.