I just found out that if a user subscribes, then cancels their recurring billing on the same day, s2Member will demote them right away (after default’s EOT Grace Time only) instead of scheduling it for when their already paid days are over.
If the user cancels their recurring bill after a day or two (or later) the system seems to work normally.
Also, I receive the EOT notification (which I have set up) but the user doesn’t receive the EOT reminder message.