I know this thread is kinda old now and the OP gave up but for anyone else who stumbles in here looking for answers:
I'm almost 100% sure that the OPs issue has to do with partition mapping. It sounds as if windows was installed in UEFI mode instead of the old MBR bootcamp fashion. Windows requires one or the other. Installing Ubuntu automatically converts the disk to "mbr hybrid gpt" and it has to be converted back to true GPT before windows will boot. This can be done with "gdisk" which David Anderson explains above. Make sure to change the disk name to match your disk when evokingenvoking gdisk (i.e. /dev/sda). To my knowledge gdisk is the only safe way to do this without loosing data.
NOTE: Ubuntu 22.04 and possibly later versions have "os prober" disabled by default which prevents grub2 from booting windows properly. This can be fixed by adding a certain line to the grub configuration and saving the changes. (In Ubuntu not macos)
sudo nano /etc/default/grub
Gets you to the file. Under the other parameters add the line:
GRUB_DISABLE_OS_PROBER=false
save the file with "ctrl+x" then "y" then "return"
sudo update-grub
ALSO NOTE: If windows EFI is indeed corrupted it can be restored from a windows install disk or system repair sector using diskpart in the terminal. This will overwrite grub and possibly the macos efi files. Mac doesn't need efi to boot if you do so from holding "option" down. I believe macos firmware update rewrites the files anyway. Ubuntu on system can be booted from a supergrub2disk usb then it's possible to reinstall grub. I have to work in this AM and shouldn't be up typing so I won't go into more detail on this but there's plenty of info elsewhere.
Refind is awesome. There's info on this forum to get it booting from a dedicated partition which has a few advantages.
For making the partition read the following thread and only do the command from step 1. of david anderson's answer. Read his line of code because this will shrink your macos container to 120GB and you might need to change the value (120800M) to a larger number. Choose a number that's just 300-550M (MB) smaller than disk1:
How to stop macOS updates from taking over the rEFInd boot manager?
For getting refind installed look here to david anderson's answer: