I found that Jira Cloud makes it very easy to accidentally remove a field context since confirmation is not asked for. There are already a few open tickets about this and some people say that this can cause data loss that can only be recovered by restoring from backup or by contacting Atlassian support.
https://jira.atlassian.com/browse/JRACLOUD-27957
However I also found the following community post where @Nic Brough -Adaptavist- mentions
https://community.atlassian.com/t5/Jira-questions/Can-I-remove-a-Custom-Field-from-a-Screen-without-loosing-the/qaq-p/316696
"Removing the field from the screen, or even from the field configurations, or field contexts, will not lose the existing data." ... "Removing it via field configuration or context will remove it from searching and reporting, but still not damage the raw data it stores."
From my own testing I noticed that if I delete a field context for a single list field, and then recreate the context (without recreating the validation list), and then refresh the issue page, the field actually displays the old data (prior to deleting the context) for a a split second while the page is loading but ends up displaying "None" once the page is fully loaded.
So it seems like the old data still exists but is no longer being displayed in the issue.
What exactly is going on under the hood? Is every single custom field actually associated with every single issue type, regardless of whether a field context exists? and context/screen config/field config only dictate whether a field ignored and/or hidden?
Is there an easy way to undo the effects of deleting a context without having to restore from backup or contact Atlassian support? Recreating the context with the same validation list did not work (the issue still ends up displaying "None" for the field in question)