hmm I doesn't think so; In fact IMO the other type of Gyrados should has been "Dragon" and not "Flying" the sea-serpents don't have anything in common with the sky;
However I think that this particular attribution of the type is probably due to a chinese legend:
Once upon a time a Koi Carp which, thank to its constancy and its perseverance, managed to overcome all the Yellow river and then to climb some waterfalls that were located in a place called "Dragon's Door".
The gods, impressioned by its tenacity, decided to reward that fish by transforming it in a flying Dragon; under this shape, the Carp acquired the eternal life and a limitless strenght, and became the symbol of those who desire to reach great objectives and who don't fear the difficulties of the life.
I'm pretty much sure Gyarados can not fly. I've heard the koi story before and i love how they made a pokemon based on this. Chinese dragons usually don't ave wings but can still fly, kinda like rayquaza, but Gyarados definitely belongs in the ocean, at least imo,
I believe that this is all of them, but yeah a lot of flying types can't learn Fly.
Most of them can fly, but not learn the move Fly. I think what OP meant was if Gyarados could fly at all, which it can't. Besides, most of the Pokemon you listed have a reason to be type flying - they either have wings, or they have some other method of soaring through the sky (Drifloon is a balloon, for example).
I can't ever recall seeing Gyarados fly in the anime, as I only remember it ever being shown in the water. The Stadium games had Gyarados floating slightly above ground though, so I think even if it can't fly, it can at least levitate in a similar manner to how Geodude hovers ever so slightly above the ground.