Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them by disclosing that rows are transient and not persisted, that referential and lifecycle integrity are NOT checked, and that confidential data is prohibited. Those are non-obvious behavioral traits an agent could not infer from the annotations. No contradiction with readOnlyHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.