Unfortunately, I do not know how Keras works, so I cannot help with that. But the issue you have is related to sklearn and numpy. If you are using same exact code (except model definition, etc) for evaluation precision, then I would say your implementation may not be identical.
Something you can try is to provide random inputs of different shapes to both model and check if they generate outputs with identical shapes. Possibly they do not as the sklearn code is shared between your two implementations.