For me, this theory sounds farfetched, a typical example of a folk etymology that links unrelated words because they have some close sounds / meanings. To admit this etymology, we need to introduce several independent hypotheses some of which are "very bold" (or, to say it more directly, quite implausible):
1. The word (in this specific meaning) is unattested in Spanish before the 17th(!) century. So we need to conjecture that it existed centuries before that date but for some random factors was not recorded
2. The word was brought by Jewish migrants from Spain to Germany in the Middle Ages and survived there. So we need to conjecture that there was a significant migration of Sephardim to Germany, while no other element (historical, linguistic or onomastic) corroborates this idea.
3. The word underwent a series of phonetic changes that yielded grager from the original caracca (voicing /k/ > /g/ in two placed, unexplained loss of the final vowel, and addition of the final -er)
4. We also need to conjecture that the word appeared in western Yiddish dialects and from them was brought to Eastern Europe. For his explanation, the author "visited" Greece, England, southern Italy, and Spain, but did not check whether the word is really pan-Yiddish.
The logical probability of such a hypothesis is very close to zero. The idea that the root "grag" for a rattle (or, for the verb meaning "to rattle" because the verb could appear before the noun in Yiddish) is of an onomatopoeic origin is much simpler and, therefore, much more plausible; compare German krachen (dialectal kracken) / English to crack (having the same ancestor), German gracken (to croak, scream) and graggen (to spit out, cough up) corresponding to the production of various sounds.