I’ve managed to figure this out myself, so if anyone out there needs some help please try the following…
Using the get_terms rather than trying to query it directly.
<?php
$terms = get_terms('custom-tax-name', array('hierarchical' => false));
foreach ($terms as $term) {
$term_link = get_term_link( $term );
if ( have_posts() ) :
?>
<a href="https://wordpress.stackexchange.com/questions/199223/<?php echo $term_link; ?>">
<?php echo '<h3>'.$term->name.'</h3>'; ?>
</a>
<?php endif; wp_reset_query(); } ?>