I noticed a very important step that's missing in this guide: https://reference.digilentinc.com/learn/programmable-logic/tutorials/htsspisf/start
The Quad SPI Core has to be configured in Standard mode. It is configured in Quad mode by default, which causes the bootloader to fail to read the flash. This was frustrating because I'm not an advanced Vivado user and I had no idea how to troubleshoot this at first. I read something similar on a forum, so I reconfigured the SPI Core and it worked. I used a Nexys 4 DDR, if that's relevant.
My suggestion is to add this at the beg