Evan,
I'm going to need to do this before the end of the summer too so took a quick break and decided to create two boilerplate C# ArcGIS Pro SDK AddIn's. In both instances, I overrode both the OnWriteSettingsAsync and the OnReadSettingsAsync as shown below. The only other thing I did (took make sure the modules would load since I didn't write any other code) was I edited each config.daml to turn on the autoload="true" for the <insertModule> tag. To get ArcGIS Pro to fire the OnWriteSettingsAsync, I just adjusted the zoom level of the map and responded "Yes" to whether I wanted to save settings and both AddIn's OnWriteSettingsAsync fired and save the "Name" string that I specified. When I reloaded the same project file, both OnReadSettingsAsync were called one after the other. I confirmed this via break-point in each method. I'm using ArcGIS Pro 2.4 and the corresponding SDK and Visual Studio 2019. Hope that helps.
protected override Task OnWriteSettingsAsync(ModuleSettingsWriter settings)
{
System.Diagnostics.Debug.WriteLine("OnWriteSettings TestWriteSettingsNumber2.....");
settings.Add("Name", "TestWriteSettingsNumber2");
return base.OnWriteSettingsAsync(settings);
}
protected override Task OnReadSettingsAsync(ModuleSettingsReader settings)
{
string l_progress = settings.Get("Name") as string;
return base.OnReadSettingsAsync(settings);
}