I've done a lot more debugging on this over the past few days, and while the following suggestion does make the fixed box disappear less, it does not fix the issue.
(In reply to Botond Ballo [:botond] from comment #8)
One simple approach along the lines of (2) to consider could be, "force a full display list rebuild when the toolbar transitions from not-fully-hidden to fully-hidden".
After more debugging it appears there is some sort of error in the calculation of the dirty area when the toolbar is collapsed. So the fact that this only occurs with a partial update is sort of a red herring. For the example provided, when the button fixed to the bottom is clicked the display list builders current
mDirtyRect is always
(0, 0, 0, 0) for me, but when the toolbar is in transition (even when almost entirely collapsed), the
mDirtyRect is populated with a value that makes a lot more sense.