No reason I didn't use it, just a) didn't know about it and b) probably didn't think to look. at the time I found systemd rather frustrating to diagnose so keeping the directives used fairly minimal worked for me (this was quite a few years ago when systemd was still a bit controversial).
When you say hard coding, do you mean you are setting the vars are part of the ExecStart line? Perhaps if you could gist your config (the one that works and the one that doesn't work) may make things clearer.
Thanks!