Para mostrar produtos de categoria e excluir produtos específicos da coleção relacionada, você pode consultar a categoria do produto e os produtos relacionados ao carregamento antecipado usando
with
mas remova o produto desejado da coleção usando um método de fechamento $product = 10;
$category = Category::with(['products'=> function($query) use($product) {
$query->where('id','!=', $prodcut);
}])
->whereHas('products', function (Builder $query) use($product) {
$query->where('id', $product);
})->get();