Hello, nice to meet a fellow UE4 developer here. I am totally understand what you are trying to do.
Basically, you need to draw a displacement/height map to some kind of buffer (like a render target) and write a function that will lookup it's height values based of the world location of an Actor.
By computing several of this values around the boat and correctly applying them as forces, it's possible to achieve nice buoyancy, while still being able to collide with other static or floating objects and receive other forces (wind, for example).
I don't believe it's possible without at least some C++ code, but I'll try to stay on blueprint side as much as I can (if you prefer so).
Please contact me here on freelancer.com to discuss all the details.
Looking forward to work with you.