That is correct.
There are actually two issues here. The first, as you mention, is that the checkbox is linked to a single, fixed value. There's no way to link it to different values depending on the location in the matrix.
There is also a second problem -- items in a matrix are displayed, but they don't really exist outside of being displayed. This means that you actually cannot click on them. When you click on a matrix, the matrix object gets the click event -- it isn't passed thru to the objects in the frame.
Between these two problems, you can't fully use any clickable object in a matrix, this includes text editors, push buttons, data buttons, etc.
As for the specific issue of checkboxes, the only way to do this is to make a "fake" checkbox using a Super Flash Art object. You'll need two images -- a clicked and an unclicked checkbox, and then you can use a formula to display the correct image. You've already figured out how to use
matrixbuttonhelper, you'll have to write code with that to toggle the checkbox state. All of this is not just theoretical, I've definitely created databases that do that.
In Panorama X this is a bit easier. You still can't fully use clickable objects in a matrix. However, the Panorama X data button object has a mode that allows the state to be determined with a formula, instead of being linked to a fixed field or variable. So you don't need to use Flash Art. Also, you can now use the
matrixclick statement instead of
matrixbuttonhelper, it is quite a bit simpler to set up and more powerful. This is described in the Matrix class I taught in 2016, the video is online.