Just for the benefit of others who might be encountering this, in my case, it seems to be something to do with a conflict with the WP-Mail-SMTP plugin (and every other SMTP plugin I've tried).
Unfortunately, due to my server configuration, I have to send emails via SMTP, so I can't just stop using the plugin.
I did find a workaround, though. Adding something like:
Reply-to: [name] <[email]>
to the Additional Headers field on the form puts the correct address in the To: field when replying to an email received from Contact Form 7. Iit still shows up in my inbox as coming from my site admin's email, but at least I no longer have to copy/paste the correct address when replying.