How I understand things working with salt-cloud is that the name you specify when executing salt-cloud will be used for the salt id on the new node. This will not update the local hostname.
(Following hasn't been tested yet. I'll try to test it today)
I would suggest creating a state file to update the hostname of the node to the minion id.
Put in your salt-cloud profile to run this state after it installs.
example.
Cloud profile file
ubuntubox:
...
minion:
startup_states: sls
sls_list:
- updatehostname
updatehostname.sls
"Update my name {{ grains['id'] }}":
network.system:
- name: {{ grains['id'] }}
- enabled: True
- hostname: {{ grains['id'] }}
- apply_hostname: True
Hope this is what you were looking for.