Mixing tone mappers in the same scene is not a good idea, neither using thresholds. Thresholds in general tend to create artifacts, except in some rare cases and your proposal is no exception, unfortunately. Running your above code, the planet city lights with RGB value 0.0, 0.0, 3.9 look like this ...