I went through this issue recently and would like to share how I got it resolve after a visit to the Apple Store.
If your old iPhone does not have enough Storage space, you can use the following method - Please do not choose to do a transfer via the quick QR scan when there is not enough storage space.
1) check whether your old iPhone has been updated with the latest software.
2) if yes, on your old iPhone - go to Settings - General - Transfer or Reset iPhone - Get Started - Upload Apps and Data to iCloud (Even if you do not have enough iCloud Storage, Apple will provide a Temporary iCloud Storage for this backup, it will keep your data for around 20days).
3) I waited more than 12 hours for the uploading to the iCloud to be completed. Meanwhile, need to ensure that you have stable connection to the WiFi.
4) When the uploading to the iCloud is completed - There will be a message to show that it is completed and your iPhone is ready to be transferred to the new iPhone.
5) Switch on your new iPhone, follow the setup instructions on the screen, choose to transfer data from iCloud backup - Please do not choose to do a transfer via the quick QR scan. This last part requires lesser time, estimated around 6 hours or less.
All the best!