Type aliases have been useful in many languages for many reasons. I also don't understand why the author is so upset.
With or without pointers, as a programmer you'll have to understand passing by value and passing by reference. Go just makes it explicit in a language construct.
Your second paragraph seems to invalidate your first?
Go pointers make references and values quite visible to the programmer, because in the real world it's not actually convenient to hide those details.
Go's pointers are certainly BETTER than C++ pointers, but I don't think that immediately makes it better. BOTH languages have value and reference semantics, and BOTH languages use syntax to dogwhistle that to programmers.