I'll explain what I've done for device adding and maybe it will help you find the missing piece you have here. First off, I want all devices to be named by their serial # if I am provisioning them. So...
- Under Operating System Provisioning > Tools > Public Variables, I have a public variable with search value: PCSERIAL, replace value: "Computer"."BIOS"."Serial Number", database value.
- Under install scripts with my unattend file, I have <ComputerName>%PCSERIALNAME%</ComputerName> in the specialize settings pass for unattended join.
- I have the right domain / creds / etc for joining said computer to the correct OU.
- Since the computer is now named as the serial # and joined to the domain as the serial #, when the agent installs at a later step, Device Name is now serial #.
Thinking back over your problem...it seems to me that your domain add is working fine, just adding a randomly generated name instead of what you want to add. Next question: have you ever gotten this to work, or is this your first pass?