I'd suggest using dd to get an exact clone; that way, you don't have finagle UUIDs.
Assuming your destination is larger than your source, I'd run the following from a third device with both drives available:
dd if=/dev/<source> of=/dev/<destination> bs=4M
That's how I migrated from SDcard to an NVME drive without any headaches whatsoever. If you want to grow the filesystem to consume the full drive after you've dd'ed, you can use fdisk/parted/gparted to do so. Just make sure you note the starting sector when re-creating the partition table. Then it's just a matter of growing the filesystem (xfs_growfs, resize2fs, etc).