I finally found some time to look into this today.
There is one issue which can be solved I think. The buoyancy point are static in their relative mesh positions. See video. With environmental interaction the actors will be head down soon and do not receive buoyancy anymore.
It should not be too difficult to move the buoyancy points dynamically depending on the actors rotation. Or just put buoyancy point on all corners. Can you comment on how to do this, what bit of BP to modify? I do not want to dig through everything right now.
The other issue is that the ocean states do not change continuously, but if you change fetch length for example, the Gerstner equations seem to reset and you the waves change over completely the moment you change a parameter resulting in a different ocean.
Otherwise, nice work! Good runtime performance.