I like the idea!
I find the habitability mechanics a bit arbitrary, ie: Stellaris habitats = Earth climate zones. Earth pretty much has every habitat in the game - I find it weird that a whole planet could be Savanna, or a whole planet would be Tundra, etc.
In my honest opinion each planet should have zero to X amounts of each tiles. A large 25 tile earth-like planet might have 6 ocean, 5 tropical, 4 Savannah, 3 tundra, 2 arctic, 2 ice, 2 alpine, 1 desert and 0 of the rest.
A tropical species would have 100% habitability in 5 tiles, 80% in close climates, 40% in climate mismatches and 0% in hostile environments. Thus, a 25 tile planet might only have 16 tiles usable before it impacts happiness. Gaia planets could then convert to be 100% the preference of the colonising species - making them extremely valuable.
This, together with the OP's suggestion, could change the dynamics of expansion, terraforming and habitability quite a bit.