Benjamin Lees wrote:
Is there a reason a bunch of paths get set in Setup.php, rather than DefaultSettings.php?
Because the default values of these paths depend on multiple sources. Your own example shows that. The default value for $wgStylePath is "{$wgScriptPath}/skins". That means that both $wgStylePath or $wgScriptPath can be set in order to change the resulting value of $wgStylePath.
And it is pretty common to set only $wgScriptPath in LocalSettings.php and have all the other paths automatically set to their defaults based on this value. That wouldn't be possible if these other paths were set in DefaultSettings.php, since by the time $wgScriptPath is reset in LocalSettings.php their values would be already fixed.