Per ResourceLoader's documentation addModuleStyles() is required to be used to load CSS that will be linked through a style tag and not loaded through Javascript. However, using addModuleStyles() also ignores module dependencies. As well, using addModuleStyles() is required to avoid flash of unstyled content(FOUC) which makes the lack of dependency processing undesirable. Currently the choices to get all CSS styles to load is to use dependencies with addModules() that causes FOUC due to it loading through Javascript or not use dependencies manually defining every resource loader module when calling addModuleStyles(); both of which are undesirable for different reasons.
So instead adding one call in the code to addModuleStyles() for 'ext.extension1.styles' on pages that need it:
$output->addModuleStyles(['ext.extension1.styles']);
The dependencies have to be manually added resulting in poor code maintainability and requiring updating many places when changing dependencies.
$output->addModuleStyles( [ 'ext.extension1.styles', 'ext.ext2.dep1.styles', 'ext.ext2.dep2.styles', 'ext.ext3.dep3.styles', 'ext.ext3.dep4.styles', 'ext.ext3.dep5.styles' ] );