Growing up in a predominantly Latino city, lots of people spoke Spanish, but those who did not, got looked down upon. At a young age, I was privileged enough to learn both languages as well as become familiarized with my culture, but not everyone has that opportunity.
Mexicans, as I know them, have the tendency to be very judgemental without wanting to reason, so naturally when they see someone who “looks like they speak Spanish,” they will talk to them in Spanish. There is nothing wrong with this because I can understand that it is a natural instinct, but if the person turns out to not know what they are saying, that is when they get upset.
As much as people have a certain background, it does not mean that they grew up being knowledgeable about it. It most likely isn't the person's fault. Their parents had their own reasons for not teaching them about their culture or another language. It is not easy to learn another language when you do not grow up speaking up.
The way someone looks should not determine how they should or what they should know. I say this from experience because sometimes the older generation does not know better. They used their resources and made sure their kids knew, in this case, Spanish and about their Mexican background. For whatever reason, the younger generation stopped teaching two languages, and therefore a lot of this generation is not as in touch with their background as others.
Nevertheless, you should not judge someone for not knowing the language you think they should be expected to understand. We all grow up differently and to generalize a certain person is to make them a person they are not.
*Nopal en la frente = Nopal is literally prickly pear, but it is also a native crop in México. People is this phrase as a way to describe a person who looks very Latino. Sometimes it is used negatively to say that they have él nopal en la frente and they don't know Spanish.