Starting from a single triangle, passing the 3 vertices as sites with empty constraints reproduces the same triangle.
No constraint result, same as original triangle:

Adding the triangle's 3 edges as constraints nominally succeeds, but produces 3 unnecessary and incorrect triangles, one of which has zero area.

I have seen similar issues with constraints that happen to correspond to a triangulation of the sites which is already Delaunay.
I could add some multiple triangle examples if that would helpful.
Code:
https://github.com/palisades-lakes/jts-issues/blob/main/src/main/java/jts/CDTBIssues.java
Starting from a single triangle, passing the 3 vertices as sites with empty constraints reproduces the same triangle.
No constraint result, same as original triangle:

Adding the triangle's 3 edges as constraints nominally succeeds, but produces 3 unnecessary and incorrect triangles, one of which has zero area.

I have seen similar issues with constraints that happen to correspond to a triangulation of the sites which is already Delaunay.
I could add some multiple triangle examples if that would helpful.
Code:
https://github.com/palisades-lakes/jts-issues/blob/main/src/main/java/jts/CDTBIssues.java