Expanding destroys your paths. They become filled areas, but the area is the curve itself, not the piece inside it.

I guess the same as others: your shapes are not closed paths, they are non-connected line- and curve segments grouped together.  You must join segments which make the perimeter of one piece. That can result something unpredictable, if path directions are not carefully checked.

My suggestion: 

- select one piece, take the original unexpanded version. Ungroup.
- fill its interior with the Shape Builder. Double click the tool icon and give some "gap tolerance". There can well be gaps if the shapes are originally SVG and you have not worried of the numerical math precision or that has been out of your control.

Shape builder makes a single shape which fills the interior of found border curves. An example:

[![enter image description here][1]][1]

1. A shape with not so well fitting borders

2. All is selected, the interior is pointed with the shape builder tool, the found interior is darkened, clicking confirms the new shape. "Too wide gaps" cause the shape builder cannot decide the interior, you do not see the interior darkening.

3. The remnants are moved apart and the built shape has got new stroke and fill only to show it's now a valid closed path.


  [1]: https://i.sstatic.net/d9Y8f.jpg