Ok, completely re-written answer based on previous attempts and some suggestions from the comments (which I agree with as I’ve never used wp_get_recent_posts()
myself…
Assuming that everything for your custom post type is working correctly (I didn’t test it though) then just use the following for your front-page.php.
<?php get_header(); ?>
<main class="home">
<h1>This is front-page.php</h1>
<?php
$fp_portfolio_args = array(
'post_type' => 'portfolio',
'post_status' => 'publish',
'posts_per_page' => 6
);
$fp_portfolio_query = new WP_Query( $fp_portfolio_args );
if( $fp_portfolio_query->have_posts() ) : ?>
<section class="overview">
<h2>Recent Projects</h2>
<div class="overview">
<?php while ( $fp_portfolio_query->have_posts() ) : $fp_portfolio_query->the_post(); ?>
<a href="https://wordpress.stackexchange.com/questions/363891/<?php echo get_permalink( $post->ID ); ?>">
<?php echo get_the_post_thumbnail( $post->ID ); ?>
</a>
<?php $link = get_post_meta( $post->ID, 'project-link', true ); ?>
<a href="<?php echo $link; ?>">View Project</a>
<?php endwhile; ?>
</div>
</section>
<?php endif;
wp_reset_query(); ?>
</main>
<?php get_footer(); ?>
</div>