Sorry, I meant consistent *within this define*. Even more, as you are using the same template in both cases, I fail to see the reason to use different treatment for it depending on the $operatingsystem inside a recipe. 

Another thing (and I think this is the real reason why you are having all these "file order issues") is that you're placing uptreams under *sites-available*, when they should be in *conf.d*, even in Debian. That dir is read before sites-enabled, and that way upstreams are properly read before sites.