Oh man, this is interesting. The CPU is definitely throttling the GPU when its at 2GHz. And it looks like the other way around is true too.
Here are the results when I don't lock the CPU to any frequency, the kernel / governor manages it all:
These are the best results. This is also when the GPU went as low as 768MHz when it was, I suspect, it being throttled.
https://puu.sh/tfUTW/8bb1f4b217.jpg
Here are the results of locked 2GHz CPU benchmarks. Notice it has actually performed worse then a non-locked CPU frequency! The GPU sometimes goes as low as 537MHz.
http://puu.sh/tgLof/19520ff241.jpg
http://puu.sh/tgLJs/dd2570df40.png
And this is the results when the CPU is locked at 1GHz. The GPU is able to stay much closer to 1GHz. But it looks like the GPU might be thermal throttling the CPU, as the CPU can't keep a lock at 1GHz for some reason.
http://puu.sh/tgLGp/0c42f6c426.jpg
http://puu.sh/tgLLw/deb8b6bbe1.png
It's looking like the CPU and GPU cannot operate at their maximum frequencies when both are pushed as hard as they can at the same time. So to get the most out of it, best to develop a game that doesn't push the CPU too hard to get the most out of the GPU, and vice versa
Lastly, it's not simple to turn off vsync after all. Looks like Android relies on it at a core level.