EDIT: It turns out my problem was just a temporary bug in Xmobar. See the accepted answer.
There are lots of solutions to this on Google, and almost none of them are working for me. I'm setting up an Arch system, so my first inclination is to use the config on the Arch wiki. Here's mine:
import XMonad
import XMonad.Hooks.DynamicLog
main = xmonad =<< xmobar defaultConfig { terminal = "gnome-terminal" }
Without an xmobarrc (or with any I've tried to copy), xmobar is visible in the empty workspace, but opening any application covers it up completely. Trying to toggle the bar space with Alt-b doesn't bring it back. I've also tried copying John Goerzen's config files verbatim, and that doesn't work either.
The one hack that has worked (from John Goerzen) is to start trayer in my xinitrc. When trayer is running, somehow it successfully reserves space at the top of the screen, which xmobar can also use. But I'd like to get xmobar working by itself. Thanks for any suggestions.