What seems to have happened here is that the assignment initially had a Due date and a Cut-off date. The student missed the cut-off date, and was granted an extension. However, the original cut-off date still applies to the extension and cannot be changed when granting the extension. So when granting an extension, it is possible to set a new due date that is after the cut-off date, which seems incorrect and misleading for lecturers. If the student attempts to submit before the extended due date, but after the cut-off date, then they can go into the assignment, but won't see the "Add submission" button. (As a side-effect in the "Adaptable" theme, the "Expired" label is displayed below the assignment link in the course page.)
As this point I was called in and turned off the Cut-off date on the Assignment, thinking it would solve the problem, but this change didn't get applied to the cut-off date already set on the extension for the student, so they still couldn't submit. I can understand this, although it would be nice if any change to the cut-off date was automatically applied to any extensions too.