List posts of terms but exclude one term

I’m not sure how you set up looks, but it does seem that you have a lot of taxonomies registered to your post type, so I don’t think it will be very viable to use the the exclude parameter in get_terms() to exclude the specific term.

What I would suggest is, inside your foreach loop before you declare your query arguments, add the following line

if ( $term->slug == 'featured-products' )
    continue;

This will skip the specific term from being queried. You should also delete the second array inside your tax_query where you exclude the featured products term. This will ensure that you still get featured products under the other terms

Just a note, your query is quite expensive and you are hitting the db quite hard. I would suggest that you look at caching the results to optimize the query. You can also have a look at transients