I have a simple list with 3 custom content types. I want the user to be able to edit the items and change the content type, so that the form will show different fields. This normally works fine. However, I've added a few "calculated" fields to the list that pull values from other fields. When I click on an item in the list and edit using the Modern experience, I can change any value in the item EXCEPT the content type. When I try to change the content type, it just doesn't stick (or save). When you come back to the item, the content type is unchanged.
BUT... this works fine in the Classic experience. I can edit any item and change the content type, and it saves.
WHATs weirder is that I've been playing around with the calculated fields. If I remove them, then everything starts working again in the Modern experience. Also, if I add them back, the things work great until I refresh the screen... Basically, immediately after removing the calculated fields, things work fine. Then I add them back. The first time I come back to the List view and edit items (no matter how many), things work great. Then once I refresh the screen (F5), it stops working... I've done this with Chome and Edge and same result. Works great until you refresh the screen once.
Even once its broken for me, my teammate goes to the list, and it works for her. Then she refreshes her screen, and it stops working. We've both closed all our browsers, and restarted them, also cleared the cache... no luck... Once its broken, only way to fix is to remove the calculated fields, and add them back.
These calculated fields are not complicated... As an example, one which breaks it is a field named "CalcTitle", which has its formula as "=[Title]".
One more thing... Everytime I change the content type and Save it, I don't get a new version in Version History unless I change other fields... So if I only change the Content type, then nothing shows up in Version History after saving (although nothing errors out either). But if I change the Content Type AND something else and press Save, then the other fields gets updated, the Version history shows it, but the Content Type doesn't change.