I'm using AvalonDock(Extended.Wpf.Toolkit, free version) in an app for my employer. Setting
This post pointed me in the right direction.
The issue is indeed internal code. The following fixed it:
ILayoutPositionableElement.cs. I named it
OnFixChildrenDockLengths, check if the flag is true before setting
I suspect the reason this behavior exists is to make default layouts look consistent. This change makes that behavior optional.
See my fork.