After further brainstorming I decided to try the idea of having the efi and recovery partitions recreated at the end of the new drive. In my opinion this was the safest option because it could either work or not. If it did not work I would just reconnect the old drive.
So I cloned the partitions, shut down the PC, disconnected the old drive and turned it on again.
And... it worked!
Right after system post I was presented with the boot loader where I could select the new OS and the former one which is now deleted. I will need to delete the entry for it but that is another topic.
So after selecting the new OS it started booting. I had like 60 seconds blank screen where I thought it wouldn't work. I decided to press ctrl+alt+del and all of a sudden I was presented with "Please wait" screen. Not sure if the ctrl+alt+del combo triggered something or I just needed to wait a little bit more. After few more seconds the operation finished and I successfully logged in into the OS.
Update 2
Realized that Recovery partition is not recognized with the new OS so I decided to remove it since I really don't need it. The only thing to successfully boot up the OS was to have the EFI partition on the same drive. And placing it at the end worked for me.
Here is the new final layout:
![Partition layout after the changes](https://cdn.statically.io/img/i.sstatic.net/AbP1H.png)
Update 3
To answer my original question:
So my question is can those partitions be at the end of the drive in order to avoid moving the MSR and system partitions to the right?
Yes, EFI partition can be located anywhere on the disk as long as it resides in the 2.2 terabytes of the disk. Source: Efi - Drive Partition Limits
As for the Windows Recovery partition I haven't found an official answer but it seems that it can be located anywhere on the disk.