Hispanic here, I grew up using “gringo” specifically for people from the U.S. despite skin tone.
Canadians are “Canadiense”, English are “Ingles” but United States? “Estadounidense”? It’s sort of like saying “United Statian” but arguably more “correct/proper”
Gringo is just much faster/easier to say.
That being said this can vary a little from one Latin-American country to another.
I took Spanish-for-Spanish-Speakers in public school so my experience may be different.
“Spanish-Spanish” (Castillian-Spanish, Castellano) is pretty easy universally understood and accepted as a “proper” Spanish. It seemed to work well despite our mixed nationalities in the class (Cuban, Dominican, Puerto Rican, Colombian, Venezuelan, Nicaraguan, and a few more but those are first that came to mind.)