It is indeed bugged, which I didn’t know until I was finished making the contract. It doesn’t count as a Drowning Accident.
I believe this is also the bug responsible for people not getting the Perfect Alibi challenge on Colorado: Some of the accidents that the targets can be killed with are not actually registered as accidents. If you drown Sean Rose in the water basin you can’t get the challenge even though it says Accident Kill. Other examples are the already-mentioned church bell in Sapienza and how the incinerators/kilns don’t count as Fire Accidents or any accidents at all (though that may be intended).
There is also a specific kind of “accident” you can cause in Sapienza where a person falls toward the ocean but ends up sliding to a stop on the geometry before they get there. The game will kill them and call it an Accident Kill but it actually isn’t; it can be noticed and the body can be found and it will void both penalties. It likewise does not count as a Fall Accident as would happen if the person had actually fallen into the water and been killed by the killplane. The game in general appears to auto-kill NPCs with a generic non-accident accident kill when they become “stuck” in some fashion. I’ve legshotted a guy who inexplicably got ragdolled into the ceiling and the game auto-killed him once it was clear he couldn’t “get up” from the legshot. Strangely this doesn’t happen with the ICA Space Program on many maps: If you launch somebody to the edge of the map on Colorado they’ll fall below the world and just sit there. That could be because they’re unconscious and the game just lets ragdolls take over; the fake-accident-kill seems to mostly happen when an NPC is stuck in an animation like getting shot without being unconscious or dead.
Unrelated but similar: Poison Kills appear to need to be specifically flagged by the developers to count. The Virus Prototype and poison gas in the Sapienza lab both count as Poison Kills according to the UI but neither actually counts as Poison from a contract standpoint. But even actual poison from the vial/needle can fail to count! The lady in the Sanguine store on Landslide has a wine glass and can be poisoned with it but Contracts Mode doesn’t consider this Consumed Poison; I think this is an oversight, same with the toilets on Landslide having very poorly-defined emetic attraction compared to toilets on other maps. This is my best guess as to why poison worked on The Chameleon: IOI manually enabled poison kills on him to count, or somehow forgot and whatever routine enables body discovery to not void points also allowed bypassing the failure conditions.