This is normal
According to this site, if you're surfing on Lake of Rage, you can find a Gyarados anywhere between lvls. 15-20, you must've been doing this, otherwise yes it is a glitch. This happens a few times where you can get a Pokemon that's higher or lower than the evolution it should have evolved at, such as finding a level 30 Magikarp.
Source: This website