A bit more Googling gave me a forum post with the solution: swap the order of these two imports:
#include <TFT_eSPI.h>
#include <WifiManager.h>
They both rely on the same #define so the wrong order makes the second one do something wrong.
Global definitions where multiple libraries can decide to use the same name is such wonderful fun...