It looks like the current function is that if a student purchases a second instance of a course, it enrolls them in the course a second, separate time, and the progress does not transfer.
So if a student buys an individual course that expires, but then buys a membership, all the progress they made will go away when the individual course expires. If you create a tiered plan system, it does keep progress through upgrades and downgrades, but that looks like the only exception.
Progress on a course should be student-specific, not enrollment method specific, and it should persist. If they cancel a membership, then join back up 6 months later, the previous progress should still show up. Or if they run out of time on an individual course, and purchase access again 2 months later, previous work should not reset.