My explanation based on looking at decompiled code (using Fabric): This bug was not present in 1.15.2, because simply riding a boat was enough to cancel a mob's drowning damage. In 1.16.1, however, additional checks were added: the boat has to be not submerged, and the entity's eye position has to be inside the boat's bounding box. It's the latter condition that can fail to be satisfied.
This still happens in 1.16.1, e.g. with foxes.
My explanation based on looking at decompiled code (using Fabric):
This bug was not present in 1.15.2, because simply riding a boat was enough to cancel a mob's drowning damage. In 1.16.1, however, additional checks were added: the boat has to be not submerged, and the entity's eye position has to be inside the boat's bounding box. It's the latter condition that can fail to be satisfied.