This is one of the difficult scenarios of defaulting where the MBO logic overrides the database default values. What happens is the linetype being set to ITEM triggers a clearFields() method on the attribute class that clears the orderunit. Since this executes after the database default, your database default should trigger and then get set back to null.
I don't love application defaults (because they only impact a single application and won't handle mobile or the new UI framework) but these defaults fire after MBO defaults so it might work. Or you can try to tie an attribute launch point automation script on linetype to set orderunit to EA if orderunit is null.