How do i display an archive page with a query variable

So i have been struggling with this issue for months (long break between due to frustration.

I feel like I am doing what I am supposed to do, so I am wondering if perhaps there are conflicting routes happening that is preventing the behavior I expect.

I have no idea how to test this:

Essentially, I have a url that is articles/for/baseball Where articles is one of 12 possible CPTs that need similar behavior. And baseball is one of 950 hobby custom post types.

These are defined with a M;M relationship with metabox or jet engine plugins.

I have no problems handling this aspect.

I have a hand coded menu with dynamic variables similar to this for each of the CPTS

 <li id="menu-item"
                class="menu-item menu-item-type-custom menu-item-object-custom  bricks-menu-item">
                <a href="/hobby/<?= $hobby; ?>">Hobby</a></li>
            <li id="menu-item"
                class="menu-item menu-item-type-custom menu-item-object-custom  bricks-menu-item">
                <a href="/articles/for/<?= $hobby; ?>">Articles</a></li>

/articles/for/<?= $hobby; ?> is equivalent to /articles/?hobby=<?= $hobby; ?>

I have my rewrite rules set up as


add_filter( 'query_vars', 'hobby_filter' );
function hobby_filter( $vars ) {
// Add the variable.
    $vars[] = 'hobby';

    return $vars;
}

add_action( 'init', 'hobby_rewrite_rules' );
function hobby_rewrite_rules() {
// Your post types, which are used in the permalink URL.
    $post_types = array( 'articles',
      //more post types
    );

    add_rewrite_rule(
// Regular expression (RegEx) pattern for matching variables in the URL.
        '(' . implode( '|', $post_types ) . ')/for/([^/]+)(?:/page/(\d+)|)/?$',

// The query variables which are passed to WP_Query.
        'index.php?post_type=$matches[1]&hobby=$matches[2]&paged=$matches[3]',

        'top'
    );

}

On the main hobby page, i am successfully pulling the hobby slug and associated id which i should then be able to use for a query loop.

image

but my problem is. the urls are not going to the article archive page. They are only showing the hobby profile page, even when the URL changes as expected.

Any idea what is going on with this?