SDC/XDC files should be applied "top down" not "bottom up" as is the case now.
Otherwise it is not possible for downstream SDC files to query clocks, etc that are usually defined in top-level constraints.
That, in turn, renders it impossible to write certain modular SDC files.
Issue is more important in Vivado, since Quartus has workarounds via SDC command options.