Nihonjin n'est pas un adjectif mais un nom. Je ne vois pas pourquoi tu le considères comme un adjectif.
Donc je ne crois pas que dire "Nihonjin gakusei" soit grammaticalement correct. En checkant Google, on trouve surtout des "Nihonjin no gakusei" d'ailleurs.
C'est assez logique, puisque un des rôles du particule no est d'attacher les noms, de décrire le nom. Là ça veut simplement dire "étudiant qui est un japonais"
J'imagine que "Nihon no gakusei" est aussi correct puisqu'en d'autres mots ça veut dire "étudiant qui est japonais"
Donc pour dire "étudiant japonais" dans le sens japonais=nationalité, les deux sont corrects.