This is a reported bug: https://bugreports.qt.io/browse/QTBUG-31627.
Using the walkaround described in the comments under that bug report makes the checkbox from my code work normally. I removed the checked: model.checked
line and added the following code to the Rectangle delegate:
Binding {
target: checkBox
property: 'checked'
value: model.checked
}