Dynamic linking requires calling through the PLT to get to the implementation, so there's a data dependency on determining where the code for it is.
Independent of inlining (with LTO, since the C++ language rules requires inhibit optimizing out "operator new"), the static call is far simpler.
Are these gains supposed to be from inlining the top level function of malloc into new? Compared to the costs of what can go on inside malloc... Is that the biggest problem?