Modify the comments query
Here's one suggestion, to adjust the comment status for the get_comments() input arguments, with help of the pre_get_comments action:
add_action( 'pre_get_comments', function( \WP_Comment_Query $query )
{
// Only target edit-comments.php
if( ! did_action( 'load-edit-comments.php' ) )
return;
// Only target users that can't publish posts
if( current_user_can( 'publish_posts' ) )
return;
// Halt the query for pending comments
if( 'hold' === $query->query_vars['status'] )
$query->query_vars['status'] = 'non-existent';
// Remove pending comments from the 'all' or '' status view
if( in_array( $query->query_vars['status'], [ 'all', '' ], true ) )
$query->query_vars['status'] = 'approve';
} );
where we target only the edit-comments.php page and modify the status to approve if it's empty or 'all' for users that can't publish posts.
Here we assign the comment status to a non existent status to remove the list of pending comments.
It can be a little confusing all the various status values for pending comments, e.g.
hold, pending, moderated, '0'
depending if it's a label, a comment query variable or how it's stored in the database,
Modify the comments counts
All comments count here:

means the sum of the Approved + Pending comments counts.
When we change the comment query, like above, these comment status counts will not change. We might want to adjust that too.
Here's an example how we can adjust the comments counts via the wp_count_comments filter:
add_filter( 'wp_count_comments', 'wpse_count_comments', 10, 2 );
function wpse_count_comments( $counts, $post_id )
{
// Only target the backend
if( ! is_admin() )
return $counts;
// Only target users that can't publish posts
if( current_user_can( 'publish_posts' ) )
return $counts;
// Avoid infinite loop before calling wp_count_comments()
remove_filter( current_filter(), __FUNCTION__ );
$counts = wp_count_comments( $counts, $post_id );
add_filter( current_filter(), __FUNCTION__, 10, 2 );
// Subract 'moderated' count from 'all' count
$counts->all = $counts->all - $counts->moderated;
// Set 'moderated' count to zero
$counts->moderated = 0;
return $counts;
}
This will also remove the counting number, for users that can't publish posts, from the admin menu here:

Modify the comment status links
Finally we might want to remove the status link for pending comments, for users that can't publish posts:
add_filter( 'comment_status_links', function( $status )
{
if( ! current_user_can( 'publish_posts' ) )
unset( $status['moderated'] );
return $status;
} );
So it will become:

Hope it helps!