Cover image -> Heading -> Cover imageHeading and change it back to Cover image block type, the image is seen to have disappeared. 
Image showing a Cover image block with an image and text on it

On changing the block back to Cover image type, the image and the text are seen to be lost
Cover image -> Image -> Cover imageThe situation explained earlier is not the same case when I change the Cover image block to Image block first, and then change it back to Cover image. It can be noticed that the text on this block is retained as well, as a caption! I think this would be the behaviour users would hope to see on the previous point as well.

The image exists as an Image block with the previous text as a caption
When I change the Image block (which was previously a Cover image block) back to Cover image block, the image is to be retained.
The current behaviour seems to make sense to me. Block conversions are generally one way and data can be lost along the way. There is no image associated with a heading, so when you convert a cover image to a heading the image information will be lost. Converting a cover image to an image retains the image data.
Yes, this is expected behaviour. There might be improvement to make, but would need to be handled on a case by case basis.