Ellen Dean describes how Heathcliff came to live at Wuthering Heights. Mr. Earnshaw, on a trip to Liverpool, sixty miles from the Heights, found Heathcliff alone in the streets, speaking a foreign language. Rather than stay in the city to try to find his people, Mr. Earnshaw brought him home as though the little boy was a stray cat. His wife scolded him for bringing home another mouth to feed and wanted to be rid of him.
Bronte, by making Heathcliff a gypsy and not, for example, a white hired farm hand, allowed for more reasons for the Earnshaws and their neighbors to dislike him. It also accentuated Heathcliff's position as an outsider, forced into a household that didn't want him, by the master of the house whose decisions were final. Not only was he unrelated to them by blood and treated as a favorite son by Earnshaw, but he was dark skinned and, until he learned English, no one could understand his language. Soon, however, Catherine's heart opened to Heathcliff even more than her father's.
According to the website Gypsy Roma Traveller Leeds gypsies were historically hated in England and even put to death in the 16th century just for being gypsies. There were laws banning them from England. Apparently, gypsies were given the same low status as vermin in those days. It seems like they received the same treatment! Extermination or expulsion.
Mr. Earnshaw never adopted Heathcliff as a son, only as sort of a pet and even though Catherine described him as a soul mate, she chose to marry the wealth and status of Edgar Linton with the plan of keeping Heathcliff with her to improve his position as well as her own. She must have been thinking of Heathcliff in terms of a pet herself, since rules of marriage don't allow for wives to keep lovers in the house.
Would Earnshaw have adopted Heathcliff and given him a last name and a legal place in the family if he weren't a gypsy?