look up btrfs send and receive. you’ll be copying data from the old disk to the new. prior to that you create the same layout on the new disk (efi, boot, btrfs with LUKS, subvolumes root and home). sadly, there aren’t any readymade solutions that do this for you. big time NO on clonezilla and friends.
CZ and dd and other “it’s 1998” tools copy the entire disk. like, you clone a 500 GB SSD with 50 GB used to another disk, guess how much data gets copied? correctomundo, the entire 500 gigs. that’s not super-healthy for the new drive and it recreates the same volume UUIDs on the target disk as the source drive, so you’re left with a mess if you keep both drives in a system.
you have a modern tool at your disposal, the mentioned
btrfs send subvol | btrfs receive subvol
that copies only what’s used. GRUB (you can use this opportunity to switch to systemd-boot) won’t pick up shit, you need to install it to the new drive (and remove it from the old one).eons ago, macOS had the SuperDuper! tool, a free utility that clones the entire disk, resizing the partition in the process and copies only the data and it does that from within the OS, no booting off USB installers and such. sad to say, nothing close exists over here, you’ll just have to get good at doing things manually.