Two side notes (I’m on a mobile): first the “call” itself to skipmissing is likelly to be negligible compared with the rest of your operations, and secondly what you are trying to do (override a method for a type you don’t own) is considered very bad practice and goes under the name of “type piracy”.
Think if you write a package that override Base.mean and then someone use your package .
Then when he/she compute the mean for even unrelated things he/she will have the modified behaviour without knowing it!
It shouldn’t make any difference whether you call mean(skipmissing(x)) or change the definition of mean itself, like you are trying. It still calls skipmissing.