According to UG903, Vivado applies IP constraints after applying user constraints.
If you use the native IPs that come with a constraint file, the IP XDC files are loaded after your files, in the same sequence as the IPs are listed in the IP Sources window, unless the file PROCESSING_ORDER properties are set to LATE.
This has the effect of giving the IP higher priority than the user constraints.
Is there a way to overwrite the precedence?
How does PROCESSING_ORDER property affect the constraints processing sequence?
Remember, the last constraint applied takes precedence.
For more information about the PROCESSING_ORDER property, please refer to UG903.