Hi @Mark Johnston ,
Great to know that and thanks for sharing the update here.
By the way, since the Microsoft Q&A community has a policy that "The question author cannot accept their own answer. They can only accept answers by others.". and according to the scenario introduced here: Answering your own questions on Microsoft Q&A, I would make a brief summary of this thread:
[JSON sometimes is not applied to List view and forms]
Issue Symptom:
I created a SharePoint online list and created a calendar view. I added JSON for the calendar view. The formatting works as expected, but sometimes it doesn't shown up at all on the calendar view. If I close the page, clear the browser cache, and reload the page it usually works the first time. I created the list to be viewed via Teams and the JSON isn't applied there. Looking at the browser debugger when the JSON is not applied, I see many errors that look like this " ProgramStatus was not found on the data object." with all the internal names listed. These errors do not occur when the JSON works. I have tried the latest versions of Edge and Firefox. Once this occurs, it seems to affect the other tabs in the same browser and perhaps even other instances in other browsers or Teams. And it can occur on a simple page refresh.
The list content type read only is set to No.
Current status:
This answer totally fixed it, and it makes sense.
Thanks for the answer from @shagra-ms on thread https://github.com/SharePoint/sp-dev-docs/issues/8373
Error on switching to a Calendar View in the List Web Part
Formatting is not applied if the Field is not in View.
1 - I have a local repro, and I'll look into this.
2 - Formatting wouldn't automatically include the fields used in the JSON in the ViewFields. In order for this to work, I would recommend to go to classic view settings, and include the fields used in the formatter JSON in the ViewFields. This will fix the issue you are facing.
You could click the "Accept Answer" button for this summary to make it easier for other community member's to see the useful information when reading this thread.
Thanks for your understanding!