filemtime(): stat failed warning within a child theme

The problem is in your parent theme. The parent theme is using get_stylesheet_directory() here:

filemtime(get_stylesheet_directory() . '/dist/css/custom-style.css'),

When the parent theme is active, that’s fine, because get_stylesheet_directory() will point that file in the parent theme. The problem is that when you activate a child theme, it is trying to get the filemtime() of '/dist/css/custom-style.css' in your child theme, and I’m guessing that this file doesn’t exist there. Hence the failure.

The issue is that because filemtime() is run right away, it doesn’t matter if you re-define the script’s URL, or dequeue it, because it’s already tried and failed to check the time, throwing the error.

If you’re the author of the parent theme, then fixing the issue is as simple has replacing get_stylesheet_directory() with get_template_directory_uri() (or better yet, get_parent_theme_file_path()). Then the error won’t occur when loading a stylesheet that’s missing that file, and you won’t need to re-eneueue it from that child theme.

If you’re not the original author, then the right solution would be to just unhook mtt_styles() from wp_enqueue_scripts entirely. Then from the child theme just re-enqueue them using the correct path. You’re already doing the latter, so you just need to do the unhooking part. The trick with that is that you’ll need to unhook it from within the after_setup_theme hook, because otherwise the original hook will not have been added yet otherwise, since the child theme is loaded first:

add_action(
    'after_setup_theme',
    function()
    {
        remove_action( 'wp_enqueue_scripts', 'mtt_styles' );
    }
);