I wouldn't say that the legacy C API in OpenCV is faster than the modern C++ one:
both C and C++ functions usually call the same internal implementation that is sometimes in C and sometimes in C++ (yes, some C functions are wrappers to C++ ones!).
And I also wouldn't expect older OpenCV versions to be faster than later ones, it's more chances that newer version is faster due to more effective implementation or newer algo behind...