I wonder if what you might want to do is partition the new drive how you want it, and then dd the partitions over individually. Or even - at least for the ubuntu partition - just format the target partition to whichever filesystem you want and then rsync the files over (I don't use nfts on anything, so I don't know how this would behave). This would avoid having to resize the partitions + filesystem on the target drive.
I wonder if what you might want to do is partition the new drive how you want it, and then dd the partitions over individually. Or even - at least for the ubuntu partition - just format the target partition to whichever filesystem you want and then rsync the files over (I don't use nfts on anything, so I don't know how this would behave). This would avoid having to resize the partitions + filesystem on the target drive.