A whole or half ham from the leg primal cut that has only the leg bone remaining. The hip or shank bone has been removed, making it easier to carve.So a semi-boneless ham is boned, in the sense of having a bone and, at the same time, boned, in the sense of having at least one bone removed. A semi-boneless ham is not a boneless ham at all!
In the case of ham, the use of semi- has come to have a very specific, if curious meaning. Just think of the opportunities for using semi- to qualify otherwise definitive-sounding terms: semi-fat-free, semi-smoke-free, semi-salt-free, semi-gluten-free, semi-guileless, semi-fearless, semi-pointless, semi-moonless, and so forth. The possibilities are endless (or, perhaps, only semi-endless).