I think the problem is that just tells Fedora to use the previously
saved entry as its default, and there's other things (perhaps more than
one) that determine what will actually be the default.
In the old grub (which was easier to follow the instructions) if you
wanted a particular boot entry to be remembered as the default, you had
to add a save default instruction to that boot stanza. As that stanza
was executed, it set itself as default and booted that kernel. Any
other entry that didn't have that instruction, wasn't remembered. I'm
not sure if grub2 behaves that way, too.
There's a boot once option, which means that you make a decision to
boot from some other kernel, without changing the saved default. You
might boot from a rescue option to fix something, and not want that to
be the default, you'll like your next normal boot to do the usual
kernel.
There's a boot next option, which allows you to set which entry to boot
next time, after doing that the subsequent boot will be the default.
That can be used for things like making the PC reboot into the UEFI
config mode. Once you exit the config, it'll reboot and boot up to
your usual kernel.
Doing a bit of googling, /boot/grub2/grubenv file cannot be manually
edited. Use the following command instead:
[root@host ~]# grub2-set-default 0
[root@host ~]# grub2-editenv list
saved_entry=0
That 0 should mean the most recently installed kernel.
Thank you so much Tim! When I ran 'grub2-set-default 0' again and ran
grub2-mkconfig it seems to have worked! I've rebooted twice and the system seems to
work.
I'm not sure what the root cause was as I've never consciously use the boot next
option and I'm not aware of a failed boot in ...years.