Here's an even more inconvenient workaround:
Graphics[Annotation[GraphicsComplex[{{2., 0.}, {1., 1.}, {1., -1.}, {3., 1.}, {3., -1.}, {0., 0.}, {4., 0.}, {0., 2.}, {4., 2.}}, {{RGBColor[0.5, 0., 0.], Line[{{1, 2}, {1, 3}, {1, 4}, {1, 5}, {2, 6}, {3, 6}, {7, 4}, {7, 5}, {6, 8}, {8, 9}, {9, 7}}]}, {Text[Framed[1, {Background -> RGBColor[1, 1, 0.8], FrameStyle -> RGBColor[0.94, 0.85, 0.36], FrameMargins -> Automatic}], 1], Text[Framed[2, {Background -> RGBColor[1, 1, 0.8], FrameStyle -> RGBColor[0.94, 0.85, 0.36], FrameMargins -> Automatic}], 2], Text[Framed[3, {Background -> RGBColor[1, 1, 0.8], FrameStyle -> RGBColor[0.94, 0.85, 0.36], FrameMargins -> Automatic}], 3], Text[Framed[6, {Background -> RGBColor[1, 1, 0.8], FrameStyle -> RGBColor[0.94, 0.85, 0.36], FrameMargins -> Automatic}], 4], Text[Framed[7, {Background -> RGBColor[1, 1, 0.8], FrameStyle -> RGBColor[0.94, 0.85, 0.36], FrameMargins -> Automatic}], 5], Text[Framed[4, {Background -> RGBColor[1, 1, 0.8], FrameStyle -> RGBColor[0.94, 0.85, 0.36], FrameMargins -> Automatic}], 6], Text[Framed[5, {Background -> RGBColor[1, 1, 0.8], FrameStyle -> RGBColor[0.94, 0.85, 0.36], FrameMargins -> Automatic}], 7]}}, {}], VertexCoordinateRules -> {{2., 0.}, {1., 1.}, {1., -1.}, {3., 1.}, {3., -1.}, {0., 0.}, {4., 0.}}], FrameTicks -> None, PlotRange -> All, PlotRangePadding -> Scaled[0.1], AspectRatio -> Automatic, ImageSize -> 250]

Of course, what I did was taken FullForm graphics graphics and edited. I added a couple of points to GraphicsComplex (ie {0., 2.} and {4., 2.} ), put a few new legs on the line (ie {6, 8}, {8, 9}, {9, 7} ) and removed the leg that drew a line between vertices 4 and 5.
I really do not propose this as a “solution”, but someone with more time than I should work on it should be able to write a function to manipulate GraphicsComplex in the right form.