How can I filter get_terms with post meta

If you want to output a list of terms that are assigned to the posts in the current query, you could use something like this in your template:

global $wp_query;
$terms = [];
foreach ( $wp_query->get_posts() as $item ) {
    $item_terms = wp_get_post_terms( $item->ID, 'web_cat' );
    $terms[]    = $item_terms;
}
$unique = array_unique( array_merge(...$terms), SORT_REGULAR );
foreach ( $unique as $t ) {
    var_dump( $t->term_id);
}