I don't have a solution for this. I don't even have a workaround. It may be that there simply isn't one without a lot of development work. I don't know if it even works properly on 18.04 or 16.04: I haven't tested those yet.
Case #1: The simple example.
Customise your panel layout. Save it. Load a different layout. Load your custom layout.
Obviously, this should return you to how things were when you saved your layout. Instead, you'll probably get something that bears very little relationship to it. Even worse, every setting that you have for ALL of your panel applets will have been wiped out. For example, if you had set a location for the clock applet, that will now be gone. If you changed the clock to 12H format, it'll be back to 24H. ALL your customisation will be gone. That means that things like HW Sensors and System Monitor will be back to their defaults too. So if you were monitoring multiple cores on your CPU, those will all have vanished, and so on.
Case #2: The "WTF?!" example.
Customise your panel layout. Save it TWICE with two different names. Load the first save again.
This one resulted in something even more broken. Rather than just wipe out all your settings, it gives you DUPLICATES of the applets, with one set having what is at least partially the correct settings, and the other set using the defaults. For example, if you had System Monitor tracking CPU and RAM, you'll end up with 3 windows: two CPU and one RAM. If you had an app launcher on the panel, you might now have 2 of the same app.
(Note that I did this after the initial borkage, so this one may be presenting a combination of that with a new bug).
It's hard to even guess at what's going on here. It's especially confusing since the bugs with the panel crashing when you save a custom layout are fixed in 19.10, and it defies belief that loading panels wouldn't have been tested at least once. The behavior isn't consistent either, as seen above.
Case #2 is potentially the easiest to at least understand what happened: AFAICT, it simply MERGED the layout it was supposed to be loading, without removing the current layout first. For example, the .panel file for it contains this at line 42:
[objects/cpufreqapplet]
applet-iid='CPUFreqAppletFactory::CPUFreqApplet'
locked=false
object-type='applet'
panel-right-stick=false
position=260
toplevel-id='toplevel_0'
which I expect is the layout for that applet after Case #1 wiped out all the customisation... but it also contains this at line 314:
[objects/object-14]
applet-iid='CPUFreqAppletFactory::CPUFreqApplet'
object-type='applet'
panel-right-stick=false
position=399
toplevel-id='toplevel-0'[objects/object-14/prefs]
cpu=3
show-text-mode=0[objects/object-15]
applet-iid='CPUFreqAppletFactory::CPUFreqApplet'
object-type='applet'
panel-right-stick=false
position=354
toplevel-id='toplevel-0'[objects/object-15/prefs]
cpu=2
show-text-mode=0[objects/object-16]
applet-iid='CPUFreqAppletFactory::CPUFreqApplet'
object-type='applet'
panel-right-stick=false
position=309
toplevel-id='toplevel-0'[objects/object-16/prefs]
cpu=1
show-text-mode=0[objects/object-17]
applet-iid='CPUFreqAppletFactory::CPUFreqApplet'
object-type='applet'
panel-right-stick=false
position=264
toplevel-id='toplevel-0'[objects/object-17/prefs]
show-text-mode=0
which can only be the correct layout that was saved originally, as you can see it's tracking all 4 cores.
(Actually, there are NINE of them in that file, but this is complicated enough already! The second batch of 4 also has the correct CPU identifiers etc with it).
The same layout, saved as a different user and from 16.04, has exactly the 4 instances you'd expect.
The same goes for the NetSpeed applet, with one copy at line 82 with all the settings lost:
[objects/netspeedapplet]
applet-iid='NetspeedAppletFactory::NetspeedApplet'
locked=false
object-type='applet'
panel-right-stick=false
position=741
toplevel-id='toplevel_0'
and a correct copy at line 271 with the settings intact:
[objects/object-10]
applet-iid='NetspeedAppletFactory::NetspeedApplet'
object-type='applet'
panel-right-stick=false
position=475
toplevel-id='toplevel-0'[objects/object-10/prefs]
auto-change-device=true
change-icon=false
device='wlan0'
short-unit=true
show-bits=true
show-icon=false
show-quality-icon=false
show-sum=false
(The line numbers are irrelevant of course, but the ORDER of the duplicates may be informative, as might the object IDs). The third (and last) copy is at line 661, and again has the correct settings with it:
[objects/object_5]
applet-iid='NetspeedAppletFactory::NetspeedApplet'
[snip][objects/object_5/prefs]
auto-change-device=true
change-icon=false
[snip]
IDK how much of the 19.10 bugs are in the loading code and how much in the saving part - that was next on my agenda, but unfortunately I'm out of time to dig any further into this. If anyone wants to run with it for a while, custom layouts are hidden in /usr/share/mate-panel/ rather than in the user's home tree.