@emlarson
Most likely the Heap Analytics errors you see have been there before. I know when I'm testing code and reviewing the console there are often other errors/warnings reported that aren't relevant to the code added via the theme customization. Most of the time those errors can be ignored unless you notice an error/warning specific to the JavaScript file you uploaded.
Instructure is continuing to update how their UI is built as they transition to more of their own Instructure UI components using React. When these updates are released it often results in changes to the elements that exist, and the IDs/classes applied to them. Depending on how a theme customization is designed, this can result in an expected element/ID/class no longer existing and thus the modification doesn't get applied. In other cases, sometimes the elements are loading in differently than before and now require a better handling of this.
Adding in some alerts and/or console log statements can help you see how much of your theme code is running and when it may be stopping. If it is a loading issue, you may also notice that it does get added, but then another page/element update occurs as it finishes fully loading that overwrites the customization your code just added.
As @melodyc_lam shared, if you are open to sharing the code in the Community it might be something that others can help with troubleshooting and may be something other schools consider adopting for their school.
I would also highly recommend seeing if this exists as an Idea yet. If not, then I would recommend submitting as an Idea to get it on Instructure's radar and maybe in the future it will be a feature they add natively to Canvas so you don't have to manage the code for it.