Thanks for a catch!
Indeed, solutions have a little bug, "kronecker" is supposed to be identity matrix, while in the solutions only one diagonal element is 1 and the rest are all 0. It can be seen as I - L, where L is not correct sharpening but some weird filter. It is hard to figure out what exactly this filter is doing: you can see those -1 as the noise added to your filter.
If you correct the mistake and subtract L from identity, then result would be much sharper, better highlighting the desired object.
Here is a screenshot with comparison for you: top - wrong filter, bottom - correct filter