Removed custom post type archive page shows blog page

If you are using WordPress 4.4+ (which you should), you can make use of the register_post_type_args filter to adjust the arguments passed to register_post_type() when the post type is registered. In your child theme, you can do the following

add_filter( 'register_post_type_args', function( $args, $post_type )
{
    // Make sure we only target the portfolio post type
    if ( 'portfolio' !== $post_type )
        return $args;

    /**
     * We are currently registering the portfolio post type, lets continue
     * For debugging purposes, you can do the following inside the filter
     * ?><pre><?php var_dump($args); ?></pre><?php
     *
     * Modify the arguments as needed
     */
    $args['has_archive'] = false;
    $args['rewrite']     = true;

    return $args;   
}, PHP_INT_MAX, 2);

Just remember to flush your rewrite rules after adding the filter. Make sure you adjust the filter to your needs. This should take care of the template load, you should see the page loaded which you created in the back end when you visit http://example.com/portfolio/ (if your created page has a slug of portfolio, ie a permalink structure of http://example.com/portfolio/).

If this does not work, you have something inside your theme which is causing this issue, more likely a pre_get_posts action which is suppose to target the portfolio post type page. You should also consider a bad rewrite as well

EDIT

The final issue was that the template_include filter as mentioned in the question was causing the issue. Removing the filter in the child theme and reflushing the permalinks solved the issue