My 670 is at stock, admittedly it's an FTW which has factory OC, but the OP doesn't say what sort of 670 so it may also be a FTW or similarly factory clocked card (did they make 4GB reference cards?).
Regarding the CPU, that could well make a difference, although I'd imagine it's the hyperthreading that would help as much as the clock increase if BF4 runs ok on AMD CPUs.
CPU makes a huge difference.
http://gamegpu.ru/images/remote/htt..._GPU-Action-Battlefield_4-test-bf4_proz_2.jpg
40-50 on ultra sounds about right with an i7, but an i5 is not going to cope as well.