That is interesting. BTW, I don't assume that command will run forever right, i.e. it will terminate relatively soon? so that could be why the service is deactivated, not because it is not run. You can try to add ; echo "command terminated"
at the end of ExecStart to see if it is terminated, you can also try to echo the exit code to debug.
If the program you use has a verbose mode, you can also try to turn it on to see if there is any error. EDIT: indeed, alsactrl restore --debug
There is also a possiblity that this service is run before the device you need to restore is loaded, so it won't have any effect.
On a related note, did you install the program via your package manager, and what distro are you running. Because sometimes SELinux will block the program running. But the error message will say permission denied, instead of your message.