I've tried feeding in darkened rooms. It doesn't work. However, now he seems to be taking things into his own hands anyway and refusing to sleep after a feed even if he's got sleepy doing so and it's been hours since he slept. What I do is feed him, put him in a grobag, close his curtains and put him into his cot.
Oh when he feeds when he's very awake, 4 mins is a good feed (including lots of bobbing off) whereas when sleepy, 20 mins is typical.
I think part of the problem is his sleepy signs are so confusing. He can be rubbing his eyes, pulling his ears and 20 mins later he looks wide awake. Yawning is also a waste of time. If I put him down by his third yawn, I'd be putting him down for naps when he's obviously not tired.