Open task manager, select processes category (pretty sure), find the program that want to change the amount of cores for it to use, right click (I think, if not, its right click), and click "set affinity", then it should show cores between 0-5 and the checked boxes means which cores are being used for that program. Check/uncheck the desired cores you want the program to use or not use. I did this all at the top of my head. Hopefully I said it right.
BF4 has a lot of issues right now. The fact that every other game runs fine for you and BF4's recommended system specs include an AMD six-core (aka FX 6300) tells me the game is just buggy. Also you said that disabling cores just made it worse, so it clearly does take advantage of more cores but is just overall not very well optimized right now. In the BF4 PC forums on Battlelog a lot of people seem to be having issues with performance, crashing, etc. So I guess you just gotta wait for them to fix it :/
I have an FX-8320 and a GTX 760. I can run BF4 on ultra settings ok, just when I'm being hit or firing my weapon occasionally, there are frame drops out the wazoo. Not as bad as what the video shows, just it throws off my ability to keep my reticule on the person. It also does this when I've tried to record with OBS, some stutter from time to time, but still not as bad as the video.
It really needs to be optimized better. I'm glad BF4 is heavily threading which shows games are moving on from single thread, just that they need to get their stuff together.