When I use the Editor GUI to change a “Content Update Restriction” those changes aren’t saved to disk, even after clicking “Save Project.”

[SerializeField]
bool m_StaticContent;
/// <summary>
/// Is the group static. This property is used in determining which assets need to be moved to a new remote group during the content update process.
/// </summary>
public bool StaticContent
{
get { return m_StaticContent; }
set
{
m_StaticContent = value;
SetDirty(true);
}
}
/// <inheritdoc/>
public override void OnGUI()
{
ContentType current = m_StaticContent ? ContentType.CannotChangePostRelease : ContentType.CanChangePostRelease;
var newType = (ContentType)EditorGUILayout.EnumPopup("Update Restriction", current);
if (newType != current)
m_StaticContent = newType == ContentType.CannotChangePostRelease;
}
The code overrides OnGUI() and only updates the local field m_StaticContent.
If I change the code instead to set the public property which sets the local field and sets this object to be dirty, then it works:
if (newType != current)
StaticContent = newType == ContentType.CannotChangePostRelease;