I have the same iMac 27 config. I have been playing LfD2 for the past 3 days with an spread of 25 to 43 FPS with most of the eye candy turned on. Most of the slow times are when heavy action is on screen. If I turn off AA then I get 33 to 60 FPS. It is beautiful.
The only advice I can give is the following:
I initially got my iMac and upgraded an older iMac and transferred all the apps and settings over. I used the network mount and imported it all. It took forever. My original iMac was a 24inch that was a few years old, came with 10.4 and was upgraded many times.
My new iMac ran like crap. I have the SSD I got aftermarket and I knew I wanted to put my OS on that, so I wiped the iMac clean. using only the hard drive, I reinstalled the OS, and added just the basics at first. iLife, iWork, Steam, Star Craft 2. I was amazed at how much better it ran.
So the short answer is that if you upgraded from a system with lots of 'history' you may have some legacy files causing grief. When I think about it, I have been 'upgrading' each Mac I have bought since my Quicksilver G4 tower. I have never started fresh. Each time was an import upgrade. So that goes back to old PPC and 10.2 days.
With a nice clean install, all is fast, even of very high settings.
You can do better than 15 FPS with your machine in the Mac OS.
95% of all people will have no disastifaction playing games on the Mac OS. in nearly all cases, after a few patches, Mac ports play very well. It is true nearly every game will perform slightly better under Windows, but unless yo are just a numbers freak, playing an action packed online competetive game, then +/1 5 FPS is not huge, nor does it impact gameplay.
The less you run, the more RAM you have the better things run. Rebooting always helps clean the caches and memory leaks to improve performance.
Raw numbers and benchmarks do mean something, but ignore those that argue about a few FPS. Our brains do a wonderful job filling in the blanks of moving pictures. While we can perceive fairly fast frame rates in the 50 to 60's we often process best in the 30's. Below 26 to 28 we can easily perceive stutters and gaps. Think of it this way, your brian itself is not runnning at more than 15 FPS in most cases. It 'sustains' massive old data if it perceives it has not changed. Only when your attention is rapt does it scan and perceive more. So for the most part it is easy to work with agame in the 30FPS range and enjoy it.