Once MCR is ready, most template styles should be slots on the template page instead of separate pages. This requires T187935: Allow cross-slot access during HTML rendering. and figuring out the details of multi-slot transclusion.
What to do when the same style is shared by multiple templates is less clear. It can be worked around (put the style on an empty template, transclude that template into all templates needing the styles), but we might want to handle it via slot-level redirects. (The same also applies to T200614: Provide a way to document template styles or add other text to those pages.) We could also handle it on the CSS parser level by supporting @import (and maybe turning it into something akin to module dependencies in ResourceLoader?) but that seems vastly more complicated without any clear benefit.
Also unclear whether we require an empty <templatestyles /> tag to include styles from the local slot or do it automatically? This somewhat depends on how multi-slot page proctection will be implemented - if different slots have different protection levels (something we probably want, at least for documentation subpages), care should be taken to prevent people from changing a protected template by creating a TemplateStyles slot on it.