That’s how it works. You need to change the query to exclude them.
And how can I find that query?
It’s a little late in my country, I will give you a solution tomorrow.
If you want to learn you can take a look here:
https://codex.wordpress.org/Class_Reference/WP_Query
One way to do this is by opening your child theme’s index.php and finding:
<?php
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
get_template_part( 'post-templates/content' );
endwhile;
else :
get_template_part( 'post-templates/content', 'no-articles' );
endif;
?>
replace with:
<?php
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
$post_meta = get_post_meta($post->ID, 'ac_featured_article', true);
if ( ! $post_meta && is_home() ) {
get_template_part( 'post-templates/content' );
}
endwhile;
else :
get_template_part( 'post-templates/content', 'no-articles' );
endif;
?>