The bug:
Boats move to a side when placed on any type of ice while the player's yaw degrees is 0, 90, 180, etc.
Steps to reproduce:
Place a boat on any type of ice while your character has the yaw of 0 degrees, 90 degrees or 180 degrees for example. (Use F3 to check your yaw degrees)
Notice how the boat moves to one side despite your yaw angle.
This is already tracked in MC-93533, and is not exclusive to ice.
The F3 menu does not display the full yaw value of the player (0.000.....) but instead a shorter version (0.0). When you place the boat down, the movement you see is the game correcting for this error by rotating the boat to face perfectly forwards relative to the player.
Using this command to face a perfect 0.00, you can see the behavior is no longer present as there's nothing to correct for:
[media]