Reproduction steps:
- Place a requester depo, request copper
- Copy the depo and paste it somewhere as a ghost
- Change recipe to request iron
- Allow a robot to build depo - it will request copper
I think this happens because blueprint place event is overridden and have some logic that recover recipe from custom data.
But that isn't needed because only data is recipe result - so it should just be taken from entity itself - let vanilla factorio take care of it...
Maybe there is some other data like drones that need to be requested - well, it's fine to recover that I think... but not recipe