I also run multi boot Windows 10 and KUbuntu on my main two systems. Am currently on KUbuntu 20.04 LTS. Here is my way of doing what you want to do.
I have used Clonezilla for years. I boot it from a USB stick. I use it to make regular disk and partition backups as well as migrate and build new systems.
In my experience shrinking Windows system partitions is very problematic due to unmovable files that Windows places high up in the partition. Years ago I found this tool. It was free when I found it. If works (I used it recently on an old Gateway machine with a hard drive) however I am conservative so I take extra steps to ensure success. These extra steps are a lot of work. Many probably wouldn't bother. I describe these steps below.
NTFS access from linux - I have been accessing NTFS formatted large data drives from Linux for years. NTFS support in Linux seems to be excellent from my perspective. The only caveat is you will probably need to ensure the mount command in the fstab file is configured to give your preferred user full access to that drive. My systems are single user systems so it's easy. For multiuser systems you are probably better to seek the advice of others on this forum who are far more knowledgeable than I am. Here is an example fstab entry I use:
#UUID=F474B7AA74B76DCC /home/augern/WDp2 ntfs-3g defaults,nofail,uid=1003,gid=1003,umask=000,dmask=027,fmask=137 0 0
MY STEPS to ACCOMPLISH WHAT YOU WANT TO DO
1) Use Clonezilla to clone your original M.2 SSD onto the new M.2 SSD. Just use straight full disk image, NOT individual partitions because you want to ensure all of the boot sector info is cloned. Since you are cloning onto a larger disk this should just work. There will be empty space at the end of the new drive. Use the beginner mode in Clonezilla.
2) Swap out the old smaller SSD and swap in the new larger SSD into your target system.
3) Boot the system into Windows. You might have to reboot once or twice to allow Windows to do whatever it does when the environment changes.
Preparing and shrinking Windows.
4) Install AOMEI Partition Assistant.
5) If you have the patience, stamina, copy all user data such as documents, photos, videos, etc. to a backup drive and consider temporarily deleting them from the Windows system partition. As I wrote above I am conservative so this is an optional step, probably not necessary but it will reduce the burden on the partition shrinking tool.
6) Run Windows Disk Clean as administrator. You want to ensure all the crap from Windows updates and upgrades is deleted. These files can run into many gigabytes of data. Also ensure you click on the tab in Disk Clean and select delete all old restore points as these files also can be quite large and are unnecessary since you have a cloned copy of your system should something go wrong and you need to start over.
7) From your administrator account in Windows disable hibernate and disable the page file (virtual memory). Check to make sure the files have been deleted. They are hidden system files. If they are still there delete them.
8) Use AOMEI Partition Assistant to shrink your Windows system partition.
9) When finished shrinking the Windows partition, re-enable hibernate and the page file and copy back over any user data files you deleted to speed the process up.
10) Once you are happy Windows is stable and working, make a Clonezilla backup image of the entire disk so that when something goes wrong during Linux installation or some unplanned Windows Update and your system gets wrecked, you can recover it in 30 odd minutes rather than having to start over from scratch.
11) You are now ready to install your Linux system(s). Use the normal partition tools to set up your disk the way you want it.