I started testing on devices, and on iOS 16 I still see the same double-calling bug, and on iOS 14/15 I still see the same no downloadTask.response bug. If I ignore the absence of a response and keep going, then I do not see the double-calling bug on iOS 14/15, as well as the not reporting all bytes downloaded bug (again, even though I'm resuming the first task).
(EDIT: I do see the double-calling bug, I just seem to have to stay in the background for 25 seconds, longer than on iOS 16)
On a device, the reporting of progress doesn't continue at all after resuming after background, as opposed to on the simulator where it just skips some files (seemingly the ones that completed their downloads while backgrounded, but that's difficult to be sure about).
Disclaimer: iOS 14 testing was on simulator, iOS 15 on device. iOS 16 on both.