This was hard enough to enforce when it was just people writing code, and once one of those stupid incrementing integer IDs go in a public API or important codepath, it can be a real pain to rip out.
This can be a valid reason. Will say though, in my experience, the AI coders have been good at respecting the comments above the PKs saying not to expose.