It’s a bit of a complicated subject to describe, but there are two ways to do so. The more scientific way is that type assignments are based on expression. If a pokémon expresses the traits—defensive capabilities against various types, instinctual inclinations towards specific elements, and so forth—then they’re classified as a specific combination. Usually, the type balance of a pokémon works out so that each subject expresses one or two types much, much more than any other, so while a pikachu may be capable of water-type attacks, it’s considered to be primarily electric, as its traits align more with the traditional profile of an electric-type, rather than a water-type. With that in mind, curiously enough, most flying-types express a combination of types, rather than just one. It may be because flying is considered to be a weaker type to express, so it supports other elements, rather than stands on its own. This is also why not that long ago, flying-type techniques such as Gust were actually classified as normal, and certain techniques you would imagine as being flying, such as Whirlwind, still are.
The less scientific explanation goes like this: imagine the weather. According to tradition, the flying-type corresponds to the element of air or wind (depending on the culture). However, wind is not much of an element on its own, if you think about it. Even when the weather is clear, you think more about the sun than you do about the gentle, warm breeze. When you go through a rain storm, you might think about the wind, but your mind is more on the water coming down. Even when it’s a cold, winter day, your first thought is about the cold and the snow instead of how hard the wind is blowing. Wind is always a supporting element in the weather … except when there’s extremely severe weather, such as a hurricane or a tornado, which are defined by wind speeds. And conveniently enough, the exact legendary you’re referring to is the legendary of severe storms.