Cool write-up there, cheers, TU.
When I use shaders that also enter the main network to drive the cloud functions, I've done it with only shaders right at the top of the chain, meaning that if I use a terrain heightfield for a cloud function, it hasn't even passed through any other nodes at all yet. The heightfield shader node allows you to colour any terrain from a black base to white at the highest points, there's a depth map right there. Colour adjusting to invert this gives you the reverse, obviously, which can be used to modulate clouds only between the peaks, that still mimic the terrain forms. I don't think it warrants the use of a separate image map of the terrain every time, unless you're passing the mask through many other nodes(probably most troublesome would be 'compute terrain' as it would triple calculation time of the functions entering the cloud shader) before it reaches the cloud.
I'd think using the black/white colour output of high up shaders in the network should be fine in most cases.