I don't think this will get the uniqueness that is desired, Alan. If they are "named" the same from the ansible inventory perspective then one will overwrite the other (as we are keyed off the name of the host as its returned from the import). instance id var is there so that tower can track changes in things like name by having a non-changing key that we can always look up.
The problem is that within an inventory names have to be unique and it doesn't matter where in the inventory or group structure that these hosts re-occur. Think about a normal inventory file structure
```
hostA avar=foo
hostB avar=bar
[group1]
hostA avar=far <--- ansible will think this is the same as hostA above
```
Unfortunately you are almost certainly going to need to find a way to uniquely name these hosts between inventory sources... unfortunately the inventory import scripts don't usually provide much help in this department.