I suspect the issue with animals refusing to go somewhere that has the right temp is a function of how fast the time passes in game by necessity. And of course certain actions, such as feeding, are sort of decoupled from the time stream in game so they take long enough for the behavior to be observable. If it gets too hot, or the season changes and it starts snowing when they are feeding, they have to choose between finishing and freezing or starving and getting warm. But sometimes they just hang out in a too-hot or cold space when they aren't eating either. What I don't get is why some of my reindeer stay "too hot" when they leave that little sliver of warm area and return to a cooler spot in their habitat, though. It's like they can't reset once they overheat, even just for a few seconds.
IRL animals go to certain spots in their habitats at given times of day, and the temperature doesn't change dramatically in the time it takes for them to eat or have a nap or whatever. And of course real zoos will also have separate summer and winter housing for species that can't handle the temperature extremes in the zoo locale. But time passes too fast for us to move our clouded leopards indoors in the winter or our reindeer indoors in the summer.
Seasons are weird in the game anyway, as it often snows in July in my North American temperate zoo, as if it were southern hemisphere.
It also never snows in grassland zoos, even though there is plenty of winter snow in the North American Great Plains. Of course, the grassland biome defaults to the African flora no matter which continent you are playing, so I guess they are also defaulting climate to Savannah conditions, even if your grassland zoo is in North America, or Argentina, or Asia. Same for deserts. There are some deserts with very cold winters in the world (the Gobi, and high deserts of North America). I guess it's too complex to have a unique climate for a given biome based on its location, but it would be fun if there were a sort of slider one could choose in game for temperature range and default vegetation within a biome.