You sound pretty experienced, so it's unlikely that I know better than you. However, when I notice I'm having a similar experience (catch people on hills, they catch me on flats) it is usually because I'm working a lot harder on the climbs (because climbs are supposed to be hard) and not as hard on the flats. So, someone maintaining a more steady-state effort might get passed by me on a climb (when I'm working harder than they are) but might pass me on the flat (when the ratio between my power output and theirs is different).