I was learning buoyancy on Khan Academy and it was going well until I thought of this thought experiment.
Consider if you had a tube of water with a hockey puck that completely touches the sides (but can still move freely - bit like a piston).
Normally, the argument goes: the pressure at the top is less than the pressure at the bottom because of $P = \rho gh$
Thus with the force being bigger at the bottom than the top, the hockey puck should experience a buoyancy force.
However, I think this wouldn't have to be true in this case where the hockey puck touches the sides. We derived $P = \rho gh$ from assuming that the pressure at a height, $h$, was from the weight of the water above that height.
This assumption is violated here because the hockey puck takes up a complete section of the entire pipe. This means that the total pressure at the bottom of the puck is not $=\rho g (h+d)$ but rather: $$P_{total}=P_{water} + P_{puck}$$ $$= \rho gh + \frac{m_{puck}g}{A}$$
Using $\rho g (h+d)$ assumes that the puck has the mass of water, which is not true.
Now, at the top of the puck we have $P = \rho gh$.
Thus the net pressure on the puck is $P=\rho gh + \frac{m_{puck}g}{A} - \rho gh = \frac{m_{puck}g}{A}$
That must mean that the force up on the puck at the bottom is $mg$ which only cancels out the weight of the puck. By this logic, all pucks like this should just stay static. I feel like this is not intuitively true. Where did I go wrong?