I found a solution, it is pretty disgusting but it works. I'll put it here if someone needs. I'll reuse my example (that I edited because I didn't test this answer with a method that returns void)
var stubPotato = new StubPotato()
{
PeelPeelingMethod = (p) =>
{
//Base method call
MethodInfo methodInfo = typeof(Potato).GetMethod("Peel", BindingFlags.Instance | BindingFlags.Public);
var methodPtr = methodInfo.MethodHandle.GetFunctionPointer();
var baseMethod = (Func<PeelingMethod,string>)Activator.CreateInstance(typeof(Func<PeelingMethod,string>), stubPotato , methodPtr);
string baseResult = baseMethod(p);
//Code for the "override"
Console.WriteLine("Hello world");
}
}