What is difference between "cv2.filter2D" vs Keras "Conv2D" function
So from an architectural viewpoint you are right, both are 2D Convolutional Kernels with size of (3,3).

But there are some major differences. While cv2.filter2D(image, -1, kernel_sharpening) directly convolute the image dis2 = Conv2D(filters=64, kernel_size=3, strides=2, padding='same')(dis1) only constructs a Conv2D Layer which is part of the Graph ( Neural Network). So Keras Conv2D is no operation for directly convolute an image.

Also the weights are different. In the cv2 Part [0,-1,0], 
                              [-1, 5,-1],
                              [0,-1,0] are your weights. 

dis2 = Conv2D(filters=64, kernel_size=3, strides=2, padding='same')(dis1)


has standard weight initializer which is glorot uniform. so the weights would not even match.

Additionally the weights of a Conv2D Layer which represents the Keras way, will be learned during training stage of the neural network.

However if you neural network would have only this convolution layer and yields the same weights as the cv2 convolution, the result should be exactly the same.