The Default("894330000")
attribute does not generate a Default value in code, it only tells the Workflow designer what to suggest as a Value. When you set the Value to a Dynamic Value, based on your entity record (which I assume you are doing, you must set the Default Value at that time. This is what it should look like in your Workflow editor:
You can also modify your code to ensure that if a null
value does get passed it will use your desired default:
int preferredLanguage = PreferredLanguage.Get<OptionSetValue>(context) != null
? PreferredLanguage.Get<OptionSetValue>(context).Value
: 894330001;