Player pushes the boat from inside

Try this:

InPrimitiveComponent->IgnoreActorWhenMoving(Owner, true);

I use this when I want my character mesh to ignore another mesh in my grab system, else the character would act as if it is running into a wall while holding something. Possibly you can make the boat’s mesh component ignore the character’s mesh / capsule / root component.