products can eager load favourites but using a constraint on the eager load so that it only gets the favourites of the current user.
https://laravel.com/docs/5.7/eloquent-relationships#constraining-eager-loads
$products = Product::with(['favouriteUsers' => function($query){
$query->where('user_id',Auth::id());
}])->get();
and then only products with a favourite will be favourited by this user