Yes and no...Those are the only options but there is a feature where $mac can mean something other than the MAC address.
This is well documented in our Help file. Open the Help file and go to Appendix B - Additional OS Deployment and Profiles migration information and see the Creating Custom computer names section.
Basically you configure the COMPUTERNAME.INI to use the Dell Asset Tag for the name as the first token.
Computername.ini file should go in the ManagementSuite directory.
Are you using WinPE for the OSD?
Is there anyway via network to differentiate the sites? example: 10.1.xx.xx = SITE1, 10.2.xx.xx = SITE2, etc.
If the answer to both of those is yes and you've got WSH installed in WinPE then you could use that to look for both the chassis type and the network. Attached are partial code snippets (renamed from .vbs to .txt).
You could use that info to inject the computername into sysprep, exactly the way you want it.
You'd have to modify the chassisinfo to return L for laptop chassisname and D for Desktop chassisname
Select case split(DefaultGateway)(1)
<---Computername = "SITE1" & Serialnum & Chassisname
<----Computername = "SITE2" & Serialnum & Chassis
configuring the ini file fixed the problem and now our naming scheme works fine