The background decides, and when you set to greyscale, you can't add colour as there is no place to store colour info in, in other words: no channels.
To get the effect you look for, you have to set your greyscale image to RGB mode. That way you have three copntainers/channels available. One for Red, one for Green and one for Blue. Because it is a grey imagen, these three channels will be identical (grey only means that the values of R, G and B are the same, ie: 128, 128, 128).
If you add a coloured image on a new layer unto this, it will be coloured.