i ran in to this recently. you are absolutely correct that DB cache plugin is the culprit. you can add filter named “authenticate” to list of filters that need to be bypassed by DB cache plugin. it works like a charm.
so my DB cache plugin settings looks like:
“_posts|_postmeta|authenticate”
Good Luck.
Girish