Still hopefully looking for an answer to this.
Meanwhile I've found a work around. I keep the app as large as possible even when its not 'maximized'. That is, when I click the restore button, the app is still effectively full screen. This way when I drag the window between between monitors, it doesn't collapse forcing panels to reshape to accomodate.