I figured this out for my case. The feature service builds the new feature templates in the template picker based on the editing templates (In and editing session) in the map document. If you create a map document and publish a service without starting an editing session then there are no defined feature templates. The publishing service will create these templates for you when you publish. If the publishing process crashes, the templates do not get created but the services thinks that they are there. It will use the default symbology and labels in the template picker. No matter what you put in your JS code it will not work. Trying to publish over the top of it does not work. If you have problems consistently publishing without crashing, start an editing session before you publish to the server to explicitly define the feature templates and all will be good even if the publishing crashes.
... View more
Did you ever figure this out? Having the same problem. Initially my template picker was picking up the label instead of the value as seen in the mxd Symbology tab. Unfortunately after trying to publish one time the service publication process crashed. I had to delete the service, rename the mxd, and republish and now the app is using the Value instead of the Label even though I have not changed the code.
... View more