Is there a way to auto-create a sections Site Settings and propagate when a new site is created?
You can use the EVENT_AFTER_SAVE_SITE event to create/update the new section settings

Event::on(
    Sites::class,
    Sites::EVENT_AFTER_SAVE_SITE,
    function (SiteEvent $event) {
        if ($event-&gt;isNew) {

            ProjectConfigHelper::ensureAllSitesProcessed();
            $siteId = $event-&gt;site-&gt;id;

            // array of sections you want to propagate
            $sectionsToActivate = [
                'test',
            ];

            foreach ($sectionsToActivate as $sectionHandle){

                $section = Craft::$app-&gt;getSections()-&gt;getSectionByHandle($sectionHandle);
                if($section !== null){
                    /** @var \craft\models\Section_SiteSettings[] $siteSettings */
                    $siteSettings = $section-&gt;getSiteSettings();

                    // the site you want to clone from
                    $siteSettings[$siteId] = clone $siteSettings[1]; 
                    $siteSettings[$siteId]-&gt;id = null;
                    $siteSettings[$siteId]-&gt;siteId = $siteId;

                    // eventually you want to change some other settings ¯\_(ツ)_/¯
                    //$siteSettings[$siteId]-&gt;template = '';
                    //$siteSettings[$siteId]-&gt;uriFormat = '';
                    //$siteSettings[$siteId]-&gt;hasUrls = '';

                    $section-&gt;setSiteSettings($siteSettings);
                   Craft::$app-&gt;getSections()-&gt;saveSection($section);
                }
            }
        }
    }
);


Explanation: As soon as you create a new site, you'll loop all sections you want to activate and grab their "main" site settings, copy them and set the id to null in order to create a new record