Myslím, že problém je v tom, že váš ::has() metoda hledá produkty s přesně 5 různými velikostmi na každém konkrétním produktu, což by předpokládalo, že používáte $this->hasMany('Size') ve vašem modelu produktu. Kde jako ::where() metoda vrací výsledky, kde je velikost produktu 5.
V dokumentaci používají příklad komentáře. Příspěvek bude obsahovat seznam komentářů. Můžete najít příspěvky, které mají alespoň jeden komentář (např. Post::has('comments')->get() ) nebo můžete najít příspěvky, které mají více než 3 komentáře (např. Post::has('comments', '>=', '3')->get() ).
https://laravel.com/docs/eloquent#querying-relations