GameFreak Logic. I
llogical logic is GameFreak Logic.
Kyurem's Origin
In regards to overall design, it appears to be based on a theropod and a European dragon, similar to Zekrom.
Dragons have wings.
Kyurem has wings, too.
It's biology,
It has two arms, each with its own claw and each arm is jointed together from its oddly shaped blue wings, which are believed to be used for flying and storing cold air. Each wing has two spikes of ice. The ice covering the wings can break, revealing gray tendril-like appendages on Kyurem's back. The right side of its body seems to be damaged in some way, as the wing and horn on its head on that side are shorter; the right side of its head also has a spiked edge near its jaw hinge that is absent from its left.
Usually, Pokemon with wings can learn Roost. Although Mew can learn Roost, because it can learn every TMs.
Drampa, A normal/dragon Pokemon. Can learn Roost. Because it is also based on Dragon.
Dunsprace is based on feathered serpent.
So, it can learn Roost.
Kyurem can learn Roost, because it has wings.
Also, Roost's Description,
The user lands and rests its body. It restores the user's HP by up to half of its max HP.
It doesn't need wings to learn Roost.
But Roost's Japanese make translation is Feather Rest.
It does not have feathers, lol.
But Pokemon with wings are supposed to learn Roost.
Maybe it's wings have feathers. That's we cannot see. Because it's wings is covered into ice.
That's why I said, GameFreak Logic.