Hi @ryanrf,
This is going to depend quite a bit on how your school has things set up (and how you define the terminology you're using).
Canvas itself has course shells. Canvas sections are all attached to a specific course shell. Canvas enrollments are tied to a section. A single Canvas course shell can have multiple sections in it if you so choose.
Your student information system (SIS) is also likely to use terminology similar to what Canvas uses above. The integration between your SIS and Canvas usually determines how these things work together. For my university, we create a unique Canvas course shell and associated section each semester for each course section on our SIS (for example: we have a Fall 2023 - HIST-100-001 course shell, and a totally separate course shell for Fall 2023 - HIST-101-002, which is also independent from Winter 2024 - HIST-101-002). I know there are schools/institutions that have their integration setup of create a single Canvas course shell, and put all sections in that single shell (for example: Fall 2023 - HIST-101 would contain sections 001, 002, etc).
The other variable here is how your school/institution deals with students moving/dropping a section. Canvas has different statuses available for this (completed, inactive, deleted) that will change the behavior. If deleted is used, the student would be completely removed from the "old" section when they drop or move. If inactive/completed are used, the student's information would generally be retained in the old course. For the grades, you may have to toggle the "show inactive" option to see the student in the list, but the data would be there for sure.
Hope this helps explain things a bit more, even though I know I didn't necessarily give you an exact answer here.
-Chris