Please try the latest master branch, I hope I fixed this now.

The fix works for the given example. However, here's another one that ideally should be one composed glyph (validated by moving the cursor over the glyph) but counts as 2 in string-width.

(setq ra (string 2352 2366))

(string-width ra) ; 2

;; Glyph in a word
(setq shankar (string 2358 2306 2325 2352 2366))