Where did you get the idea that Waterfall is not an HM?
There's no way Gyarados CAN'T have waterfall. If waterfall is not an HM, then you can't teach Gyarados Waterfall, but that means you CAN transfer it over because it's not an HM. If waterfall is an HM, you can't transfer it over, but you...