To reproduce the problem follow these steps:
1. Create a host with an item with name "item" and key "item";
2. Link a template to the host;
3. Create an item on the template with name "item2" and key "item2";
4. Update the template item and set its name to "item" and key to "item", the same as the item on the host has.
As a result, the item on the host will be converted to a template item, but the old inherited "item2" will remain. Instead, an error should be triggered, saying that the "Item "%ITEM%" already exists on host "%HOST%"."
I can reproduce the same error with LLD rules. Similar problems occur with screens, but they should probably be fixed under ZBX-5694. We also need to double check, that other object behave correctly.