Regional clocks are an interesting idea, I haven't even considered their effect ... I really don't want to put in clock-crossing logic at this point, but it's something to keep in mind in future.
The optimization mode was "Power - High Effort" (but results are more or less the same in "Performance - High Effort".) I am meeting hold timing in all timing models. Going to rerun in "Performance" with hold timing option turned off - back to you in an hour.
The code for this particular path was effectively
out[57] <= in[56] ^ in[120] ^ in[312] ^ in[472];