My first guess would be that the result of the buoyancy physics simulation depends on the framerate (which is slightly different on the two systems), which could cause your issue. This is a know effect, see this article that also provides a solution for framerate independent physics. See also the documentation about physics substepping. My first recommendation is that you try to achieve framerate independent physics by following the advice in this article.
You should also be aware of the N Points Per Frame and N Frames Pause parameters of the Buoyancy Blueprint. These improve the CPU performance by reducing the number of frames that update the Water Depth for each Point. However if these two settings are the same on both systems, this should not result in the observed behavior.
Does your application require that a real-time simulation of buoyancy is performed? Would it be an option to prerecord the motion of the floating ship? The water motion in Physical Water Surface is always exactly the same when the game is started (it just depends on the game time). So if the simulation is always the same this would be an elegant solution.