(Some additional steps needed if you want to use regular chroot instead of nspawn.)
Sometimes qemu shows an error saying some operation isn't supported, but this hasn't broken anything yet for me, even after I did a whole Raspbian Stretch -> Buster upgrade this way.
BTW, with Debian buster and later, you won't have to copy the qemu-arm-static binary around, since the Linux kernel will now use the file from outside the chroot/container.
You can skip the first part about creating the image, since presumably you already have one. So the process for me is something like:
(Some additional steps needed if you want to use regular chroot instead of nspawn.)Sometimes qemu shows an error saying some operation isn't supported, but this hasn't broken anything yet for me, even after I did a whole Raspbian Stretch -> Buster upgrade this way.