__Describe the Bug__
Sub Process moves position after expand & collapse operation
__Steps to Reproduce__
// given
element chain of star event --> task --> end event
// when
I perform the follwong operations:
// then
the position of the sub process has moved and is not aligned with the other elements anymore

__Expected Behavior__
sub process keeps position
__Environment__
Please complete the following information:
Could also be related to https://github.com/bpmn-io/bpmn-js/issues/1103
Root Cause
Regarding the _vertical movement_:
The misalignment comes from an offset generated by GridSnapping.
Cf.ToggleElementCollapseBehavior autoResize to grid. This introduces the bug for not-yet-snapped diagrams.
However, this does _not_ also cause the horizontal movement when transforming the task to a subprocess. Further investigation needed.
Regarding the _horizontal movement_ of the SubProcess:
The movement resolves in newly calculated optimal bounds which takes the automatically created start event into account. That's why the start Event seems to be moved inside the SubProcess after re-expanding (as the screencast above reveals).
This behavior is also shown in previous version v3.x.x when expanding collapsed subProcesses which have children

The behavior described above with empty subProcesses only comes from the fact we're automatically creating a new startEvent when morphing a task to an expanded subProcess. This relates to https://github.com/bpmn-io/bpmn-js/issues/1031
So this is _not a regression_ . It is caused by the fact when calculating the new bounds in AutoResize we take the _collapsed subProcess_ and the elements of the _expanded subProcess_ into account. Due to the fact it indicates the children outside of the colapsed subProcess' bounds, it adds an offset to the left, which is visually visible by the horizontal movement.
To fix this, we will have to somehow _save_ the bounds from the expanded subProcess. For example via Extension Element.
After a discussion with @volkergersabeck we concluded to postpone this when we tackle an overall improvement-run regarding _Modeling with SubProcesses_ in the next quarter. This will include several improvements like this one or https://github.com/camunda/camunda-modeler/issues/1244, https://github.com/camunda/camunda-modeler/issues/1343.
Roo-Cause-Analysis is described in following commits
Closing this as we do not allow to collapse sub-processes anymore.