Strange distortion coefficients after calibration

You said the image looks strange to you - can you elaborate?

based on the black curved area at the top / bottom, it looks like your lens has a moderate amount of distortion (including an undistorted input image in your post would be helpful)

One quick test you can do to evaluate calibration accuracy is to load your undistorted image into Gimp (or your favorite image editing program) and use the measurement tool (or anything that can make a straight line) to gauge how straight the undistorted world lines are. (The edge of the door, the calibration target, etc) I did this with your image, and things looked pretty good to me.

Even better is to draw lines to the undistorted images that coincide with the calibration target world points. I do this and have found that it is a good visual sanity check.

Is 0.9 accurate enough? That depends on your application and the accuracy that it requires. You can probably improve on the 0.9 number, but how much improvement (and how much effort) depends on a number of factors.

Example of drawing lines to the undistorted image. I look for how well the lines follow the calibration target edges, and how tightly grouped the lines are at the intersection area. In this case the reprojection error was approximately 0.15.

To draw the lines I call projectPoints on the world coordinates of the calibration target, then create “infinite” lines that correspond to row/column edges, and then draw those lines to the undistorted image. Make sure you use the cv::line() drawing function with sub-pixel values to get an accurate line position (I typically use 3 shift bits).