Since 1.19 the hit box on boats appears to be too large. For example, I used to be able to place a boat on a button covered packed ice nether highway by targeting anywhere on to of the ice and placing the boat. Now the boat will only place if I remove a button. Even then it will launch forward three or four blocks instead of staying put like it used to.
Steps to replicate:
1) Place down a row of ice.
2) Put buttons on top of ice.
3) Place a line of fence posts even with the top of the row of ice on either side.
4) Attempt to place boat on button covered ice.
I am renaming this report to be more accurate. Not being able to place a boat on a block with a button has nothing to do with the hitbox of the boat, and indeed the hitbox has not changed. The boat.json behavior file was last updated in 1.18.10.
The behavior of not being able to place a boat on a block with a button is the same with every other block I have tested. You cannot place a boat on a block with a torch, a flower, a lever, or a pressure plate (you can place it on the pressure plate itself, but not on the block below the pressure plate when you point at the edge of that block where the pressure plate does cover it). All of these blocks are collisionless just like buttons.
On the other hand, it is a simple matter to place the boat on top of the button itself by using the sneak button before placing. It is the same with other interactable blocks like trapdoors.
The launching forward when you exit a boat is a separate, unrelated issue. It will be tracked at MCPE-159637.