Testing code does: static std::optional<double> overrideDeviceScaleFactorForTest(const std::string& pathOrURL) { if (pathContains(pathOrURL, "/hidpi-3x-")) return 3; if (pathContains(pathOrURL, "/hidpi-")) return 2; return std::nullopt; } but those directories don't match.
As far as I can tell, this has always been the case. At least some of those tests use testRunner.setBackingScaleFactor. Note that even though the quoted code is from TestRunnerShared, DumpRenderTree has a copy of this logic.
<rdar://problem/73331633>
I'll say "behaves correctly", please feel free to reopen if you disagree.
There are tests in those directories that are obviously written with the assumption that they are running in hidpi, so something needs to change.