SOLVED
TL;DR - cloned old system from /dev/sda to /dev/nvme0n1 using dd. I can chroot into nvme, but it doesn't boot after going into GRUB.
I have cloned my system from /dev/sda2 (ext4) to /dev/nvme0n1p2 with dd, created empty FAT32 on partition 1 with boot+esp flags. After disconnecting /dev/sda, files were intact and I can chroot into it over live USB.
I did clone GRUB on partition 1, but it would say ERROR: device '/dev/disk/by-partuuid/75***af8' not found. PARTUUID is exactly the same, on live USB it mounts to arch.
I tried reinstalling GRUB, but it would go into GRUB prompt, tried systemd-boot, it show "boot into firmware" (if I recall correctly, only one button and it would go into UEFI setup).
Any suggestions? /boot/efi/EFI exists and files are there.