You are correct. ROOT in this case means to support, be on the side of, etc. It is frequently used in relation to sports, e.g. "root for your favorite team."
An ANTIHERO is a person/character who is the protagonist of the story (i.e. the hero), even though they have a lot of bad qualities and kind of seem like they should be the antogonists. But they are the main character, so we tend to 'root' for them. Examples:
Michael Corleone in the Godfater, Scarface, Tony Soprano, Mark Zuckerberg in Social Network, Captain Jack Sparrow, Dexter (i think, never watched it), John Rambo in Rambo I etc.