This is caused because the official Ubuntu cloud images don’t have:
dhcp-identifier: mac
in the netplan configuration inside the image.
https://netplan.readthedocs.io/en/stable/examples/#integration-with-a-windows-dhcp-server
This means that the DHCP client uses /etc/machine-id for its identifier (which is not changing between copies inside the guest).
In comparison the images:ubuntu/22.04 image from the LXD project uses dhcp-identifier: mac and does not experience this issue.
Now, LXD does generate and pass a different UUID to QEMU as the VM identifier, and this appears to be being used inside the guest initially for /etc/machine-id, but during a copy, despite the UUID being passed to the VM changing, it doesn’t appear to trigger a refresh of the /etc/machine-id file.
@Chad_Smith do you know if cloud-init should refresh /etc/machine-id if the QEMU UUID changes?