The documentation says extendTrace is faster because it does not redraw the whole plot. But, If we add a new point, all the points have to be move left and to my understanding, this is already redrawing all the points.
Quoting from the description of Plotly.react on the page you linked above:
[…] will update it far more efficiently than Plotly.newPlot, which would destroy and recreate the plot
So newPlot() does not really redraw the plot, but creates a completely new one. Functions that redraw on the other hand may re-use parts of the already existing graph. If I’m not mistaken, simply moving points is more efficient with the underlying d3.js than recreating them.
I’m no expert on how this works in detail, so maybe a more experienced user can weigh in.