If I format a column in sharepoint online and update the list column directly through the library or list settings, it will wipe out the column formatting. I did nothing but click on OK to save changes in the list column. It doesn't matter how complex the json is or if I set it up through the UI. It will disappear. I realized this as I was adding a choice option to a choice field. All of the column formatting disappeared and then I had to redo it.
However, if you edit the column settings through the list view (Click on column header drop down, Column settings->Edit), it maintains the formatting