@ctheriot
To build off what Ron ( @Ron_Bowman ) wrote, let me address the two different issues, albeit in the reverse order of what you wrote.
Old Courses Listed
The courses that appear in the list of your calendar are your personal calendar (your name) plus all of the current courses (click on Courses > All Courses and they are the ones at the top), plus future enrollments in published courses. It doesn't seem to matter whether the are a favorite and on the dashboard. But if they are past enrollments or unpublished future enrollments, then they do not show up on the calendar. Mostly.
The determination of whether something shows up on the calendar appears to be loosely-based upon the term dates and course dates. I did some testing and it appears that if a course that is over belongs to a term that is still open, then it shows up on the calendar, even if it is in the past enrollments on the courses page. I didn't test every possible combination, but I played around with the course dates, putting them in the distant past (2015) just to have them still show up on the calendar. Then I changed the term to one that had ended and it disappeared from the calendar. When I changed the dates on the course to the present and then back to the past, it remained on the calendar until I changed the term again. There seems to be something in the changing of the term that triggers something that just changing the dates on a course doesn't.
If your institution puts all of the courses into the Default Term instead of using terms like Fall 2022, Spring 2023, etc., then those past courses would still show up on the calendar. If you're the teacher of the course, you may be able to go into the course settings page and change the term to something in the past and then change it back to the correct term in the past. However, you may not have access to those courses to do that.
You may need to talk to the people who manage Canvas at your institution to change the terms. They may need to create terms rather than creating all of the courses under the Default term. If they are currently using terms, then they may need to go back and put some of those original courses into terms.
Selection Resets to Enabled
As far as the second issue where your selections are not being saved when you reload the calendar, that should not be the case.
When you select or uncheck a calendar in the calendar sidebar, it sends a request back to Canvas identifying what you have done. This allows Canvas to synchronize your calendar settings across all of your devices and browsers. In some other places, Canvas saves the information to a browser cookie. That means that changes made in one browser do not apply to other browsers and that clearing your browser cookies will reset the settings. In the case of the calendar, it saves the settings on the Canvas server rather than your local browser.
That suggests that there is an issue saving the results. This might be a network call that is failing, although it would be very strange in this case since a lot of other stuff would not be working.
If you have another browser installed, I would try logging in to Canvas and making sure that has the same problem. Another option is to switch to private or incognito mode and see if it works. If it does, then it's usually something with your browser, which could include extensions and cookies.
Even though this is not necessarily a cookie issue, sometimes browser cookies can become corrupt and cause issues. I used to think that it didn't matter until the one time I had a serious problem and clearing the cookie fixed it, even though it shouldn't have had anything to do with things.
If switching browsers and clearing cookies doesn't fix the issue, then I would go into the developer tools for the browser (F12 for most browsers, but I'm going to describe Chrome) and switch to the Network tab (you might need to use the >> icon to find Network). On the filter row, click on Fetch/XHR. Then reload the calendar page and try selecting or unselecting a checkbox next to a calendar. The Network tab should show some loads. What you're looking for is one called "save_selected_contexts". If it's in red, then the request failed and we know the immediate cause of why the changes aren't being saved; we just need to figure out why it's failing. That's another message though, there's no point in explaining all that if clearing the cookies will fix the issue.