Can Multisite and Custom Post Types work this way?

You can put something like this in a theme template:

<?php

switch ( get_current_blog_id() ) {
    case 9:
        $category = 'alignment';
        break;

    case 13:
        $category = 'lists';
        break;

    case 14:
        $category = 'comments';
        break;

    default:
        $category = '';
        break;
}

switch_to_blog( BLOG_ID_CURRENT_SITE ); // root site.

$category_posts = get_posts(
    array(
        'category_name' => $category,
    )
);

if ( $category_posts ) {
    ?>

    <ul>
        <?php foreach ( $category_posts as $category_post ) : ?>
            <li>
                <a href="<?php echo esc_url( get_permalink( $category_post->ID ) ); ?>">
                    <?php echo esc_html( get_the_title( $category_post->ID ) ); ?>
                </a>
            </li>
        <?php endforeach; ?>
    </ul>

    <?php
}

restore_current_blog();

?>

That switches to the main site, grabs the posts that correspond to the sub-site’s category, displays them, then restores the sub-site.

Update the case statements to match your blog IDs and category slugs. If you need it in a widget, etc, it should be pretty straightforward to adapt to other contexts.