My first question - Has it always done this?
2) Have you tried a new Kohler flapper? I would try that first. Its inexpensive and will guide you as to what to try next.3) if its always done this, and a new Kohler flapper doesn't solve then try the following next.
You say that the chain pull somewhat sideways and you suspect this is causing the issue. Can the arm from the flush handle be bent so it is positioned directly over the flapper? If its plastic, try replacing it with a handle with a brass rod that can be bent into correct position.
Did that fix it? if not - check to make sure there is no debris or damage to the flange the flapper sits on.
if not - Call Kohler, see if they can offer a suggestion.
if not - Consider replacing the entire flapper/flange/overflow. Typically they are one assembly. Not sure about your specific model.
DO NOT - Get the fluid master flapper/flange combo with glue that sticks to the existing flange. These have never worked well for me. I ended up pulling it out and replacing the stuff as mentioned in previous step.
So - As you can see - Check obvious, try less involved, less expensive things first. Worst comes to worst replace the troublesome parts and everything they touch.