In short: I added btrfs subvolumes (including @/boot/grub2/x86_64-efi ) to try to get snapshot booting in the grub2 menu to work, and after running an update grub fails to the recovery console and reports

error: ../../grub-core/fs/btrfs.c:1997:file '/boot/grub2/x86_64-efi' not found.
error: ../../grub-core/fs/btrfs.c:1997:file '/boot/grub2/x86_64-efi/normal.mod' not found.

From the grub rescue prompt I can

ls @/boot/grub2/x86_64-efi

and it successfully reads that folder. Why can it see this path with the @ and not without the @ and how can I fix this?

---------------------
Longer version

My openSUSE system only had a @ subvolume for / and a @home subvolume (which was not a child of the @ subvolume, but a sibling, FWIW). To try to get the grub menu snapshots working, I created subvolumes for /var /usr/local /srv /root and /boot/grub2/x86_64-efi, copying over the contents of the directories they would replace and then moving the subvolumes into the place of the old directories (using single user mode for a couple of these such as /var), and added /etc/fstab entries for them. I did a few at a time, rebooting in between to make sure things were working properly. I added SUSE_BTRFS_SNAPSHOT_BOOTING=true into /etc/default/grub and made sure grub2-snapper-plugin was installed. The system booted fine after all of these changes but I hadn't refreshed grub.

At this point I ran a full zypper update, since I was overdue, figuring it would take care of the grub refresh. And I guess it did, but now grub is broken.

I've booted with a usb LIVE image and set up a chroot to run grub2-mkconfig and grub2-install to try to fix it (including once with SUSE_BTRFS_SNAPSHOT_BOOTING disabled again) but I still get the same error.