This is expected behaviour. I thought this was already documented, but I can't find it. Oh, yeah, it's documented in the code (see lib/enrollib.php)
- "Unenrol user from course" When the user disappears from the external source, the enrolment is completely removed and all the roles removed. This means some user data and settings are purged from course during course unenrolment (that usually include grades, activity attemtps, etc.)
- "Keep user enrolled" When the user disappears from the external source, the enrolment is kept as is, and the user is still able to enter the course and perform activities, access resources, etc. It's a "do nothing" option.
- "Disable course enrolment" When the user disappears from the external source, user enrolment is suspended (the user can't access the course, but user data and settings are kept), and roles are kept as is. You might use this because in some cases the user needs a role with some capability to be visible in UI - such has in gradebook, assignments, etc.
- "Disable course enrolment and remove roles" When the user disappears from the external source, the enrolment is suspended and roles assigned by enrol instance are removed. Please note that user may "disappear" from gradebook and other areas.
The difference between the third and fourth options is that with the 3rd option you still see users in the grade book and activities, but with the 4th one you don't. But if you un-suspend the user, both 3rd and 4th options will restore things back to normal (while the 1st one won't).