Why is carbon monoxide a monodentate ligand
It is possible for carbon monoxide to coordinate through oxygen, as reported here.  However, there is indeed a strong tendency for carbon monoxide to coordinate through carbon, essentially due to the electronegativity difference noted by the OP.  Cyanide is more likely to coordinate through N than carbon monoxide through O, simply because the electronegativity difference is not so large.  Even cyanide requires special circumstances to get it to coordinate through nitrogen, often involving the carbon being "preoccupied" with another atom -- just like carbon monoxide in the referenced article.