The AP gain in BGs is pretty great. At most, you are in for 15 mins and at worst you are earning like 7K AP just for showing up. Let's say you average 10 minutes per BG match, you are earning at minimum, 42K AP per an hour of work. And if you win all 6 of those matches, you are earning 72K AP per hour.
Capturing a keep in Cyrodil is what? 6K AP per keep? So you would need to capture 7 keeps per hour to even get the minimum AP gain that you get in BGs, and you would need 12 Keeps per hour to get the maximum.
Unless you are on a dead server, you are not capturing 7 keeps an hour, let alone 12. Especially when a Keep capture fails, you get nothing. And some failing captures could take more than 15 minutes.
You won't get 6 matches an hour with 10 minute avg time. Don't forget queues are a thing. Especially at higher MMRs.