Windows's "Default operating system" lists only operating systems bootable using the Windows bootloader and registered to Windows BCD. This option exists mainly to allow booting older versions of Windows if you've installed a new version of Windows alongside an older one, instead of updating.
My guess is that your Windows installation uses native UEFI boot style, and your Pop!_OS is using legacy BIOS style.
Even if the BIOS compatibility support module (CSM) in modern UEFI firmware is enabled, it gets disabled for booting native UEFI bootloaders, and most of those bootloaders don't know how to switch CSM back on to transition into BIOS-style boot process. The CSM provides the support for the 16-bit legacy BIOS calls a legacy-style bootloader uses. So an UEFI bootloader usually cannot start a legacy BIOS-style bootloader.
On the other hand, when the CSM is starting a legacy BIOS-style bootloader, it needs to disable the native UEFI firmware interface for accessing the UEFI boot settings, because there is simply no equivalent for it in the 16-bit legacy BIOS environment. As a result, a legacy BIOS bootloader cannot start native UEFI bootloaders either. And because a part of that UEFI firmware interface, known as UEFI Runtime Services, is needed to properly install a native UEFI bootloader onto the system disk, an operating system that is booted using legacy BIOS methods won't even be able to fulfill all the steps required to install a native UEFI bootloader later.
Because of these restrictions, the way you boot the OS installer usually decides the boot method of the OS for you: if the OS installer is booted in legacy BIOS style, it installs a legacy BIOS bootloader. And if the installer is booted in UEFI style, it installs an UEFI bootloader, respectively.
The steps you would need to switch your Pop!_OS into using an UEFI-style bootloader would be roughly these:
first, in Pop!_OS, install the
grub-efi-amd64 package, and also
grub-efi-amd64-signed if it is available. This gives your OS the capability to install a native UEFI version of GRUB. You should also install the
efibootmgr package, as you might need it later to adjust native UEFI boot settings.
second, boot in native UEFI style from an external media and gain access to your Pop!_OS installation. If the Pop!_OS installation media offers a rescue mode, it might do this automatically for you. If you need to use a live Linux media of some other type, you might have to do something like this:
sudo mkdir /old_installation
sudo mount /dev/ /old_installation
sudo mount -t proc proc /old_installation/proc
sudo mount -t sysfs sysfs /old_installation/sysfs
sudo mount -o bind,rw /dev /old_installation/dev
sudo mount -t efivarfs efivarfs /old_installation/sys/firmware/efi/efivars
sudo mount /dev/ /old_installation/boot/efi
sudo chroot /old_installation /bin/bash
(If your installation uses LVM, disk encryption or other complications, there will be additional steps required.)
Now you should be running as root in the environment of your Pop!_OS installation.
efibootmgr -v to see the native UEFI boot settings. It should mention the Windows Boot Manager, but no version of GRUB at this point.
grub-install --target=x86_64-efi /dev/<your NVMe disk>
This should automatically install an UEFI version of GRUB to coexist with the Windows bootloader. If you run
efibootmgr -v again, you should see that GRUB has been added to UEFI boot settings and has been set as the first option in the boot order.
update-grub to let it auto-detect all operating systems existing on your computer and build a GRUB boot menu for you. It should tell you that Windows has been detected.