The anwser is the docs... Need to look at the paragraph Class Constraint Validator on the page How to create custon validation constraint. What I did wrong is that I've tried to enforce type hinting that way:
public function validate(Product $product, Constraint $constraint)
{
...
}
There should be just:
public function validate($product, Constraint $constraint)
{
...
}