this is the expected behavior
look at this color curve:

When you have no tone mapping, there is straight line between input and output. If you extrapolate that into overbrights (colors with intensity > 1.f, or > 255), you still get the same straight line - see red in the image.
But if you use contrast, you use a curve similar to the one in the image. Now imagine you extend that into overbrights. Where will the curve go? It is depicted in blue. It shows that all overbrights are compressed into very shallow range of colors (which quickly degenerates into single color because of numerical precision limits).
This is not a bug and it makes sense for 2 reasons:
1) if you used contrast, you are working in non-linear space, so it is no longer safe to change exposure of the image. Same as using gamma, highlight compression, etc. You can always do tone mapping in post-production and use the correct linear output from Corona.
2) by using the contrast function
you explicitly requested for the near-black and near-white range to be destroyed to increase the differences between black and white. This is what the contrast function does by definition. If there is some other implementation that is not as aggressive, I could switch it, but the function we use currently was the best one I was able to find based on a number of desirable properties.