Any benchmark will run quicker at lower resolutions. When you set it to 1080p there is 1920x1080 number of pixels to crunch, where as at 1680x1050, there is less pixels to crunch. The benchmark is actually rendering more pixels in 1080p, but your monitor is not able to display it. Because...
You don't actually HAVE that many pixels in the screen itself, the panel is clearly 16:10 aspect ratio, it can't magically turn into a higher resolution panel, with a 16:9 aspect ratio. The receiving logic inside the monitor is down-sampling (scaling) the 1080p to match the local 1050 resolution.
Think of it another way, when you boot up the computer, the monitor is running at 640x480, yet you usually see the whole screen being used. In that case, the lower resolution material from the computer's BIOS POST process is being up-sampled to the native resolution of the monitor via scaling.