My opinion, don't take it for granted:
1. The path through scan_data_in is so long, that there cannot be a hold time violation.
2. The paths between the scan_registers will create hold-time violations, if the clock tree is not balanced. Sorry if I cannot give you a proven solution, but my guess is to set the scan_clock as clock, which would then check for hold time violations.
3. In my private caravel project I use my self-written STA engine, which approved, that if you don’t have a balanced clock tree, the hold time violations are massive.