A character can still be a great character without being a good person.
In fact, some of the best characters are terrible people.
Because a character’s worth should be based on how complex and interesting they are, not their morality if they were real.
When someone dismisses well-written chartacters like this just because they are flawed people, I always wonder if this is how they judge real people, too. And then I wonder if they are capable of respecting anyone, because generally you get more background and explanations for bad behaviour for fictional characters then you ever get for real people.