The best thing about ThorSummoner's answer is that it called attention to the OpenRaster export plugin, which as it turns out lives in the file
file-openraster.py in the GIMP installation.
By reading its code (and with some assistance from the built-in procedure browser), I was able to determine that the layers of a GIMP XCF can be saved to individual PNGs by going to Filters > Python-fu > Console in the interface, and entering the following into the built-in Python interpreter:
# If you have multiple images open, you may need to adjust
img = gimp.image_list()
savefn = gimp.pdb['file-png-save-defaults']
for lay in img.layers:
# Even if your layer names contain spaces, not a problem
outname = lay.name + ".png"
savefn(img, lay, "./"+outname, outname)
# type an extra newline to exit the indented block
You'll see the progress meter in the image window's status bar start whipping through all of your layers, writing each one to a PNG file of the same name, in whatever directory you ran GIMP from.
If any of your layer names are the same, that is a problem, because this will happily overwrite any previously-written files. Caveat GIMPtor.