The light meter built into cameras is kind of like a slot machine if you don't understand it, which is exactly why you're having problems. It measures reflected light and whatever is reflected the camera wants to expose as medium gray. The problem is not everything is gray. Black is black, and white is white, and the amount of light reflected is different for every object you point it at. Thus, even under the same light, different objects will meter differently. The camera is adjusting to every scene and averaging it so it renders gray. If you don't understand this or how much to compensate to get the exposure how you think it should be, your exposures will be off.
It can be easier and more consistent. The answer is an incident light meter, which measures the light falling onto the scene. Think back to reflective metering. In a given scene, the light source is generally constant. The same light is falling on a dark subject as a light one. The only difference is the dark subject reflects less and the bright subject reflects more. This fools the reflective meter. However, the incident meter doesn't look at color, contrast or brightness. It measures only the light itself as it falls on the scene. If you have the correct exposure for the light itself, everything under that light will render with true tonality, as long as it's within the dynamic range of the sensor. Thus, one incident reading for the scene, locked in manually, and you can point the camera anywhere that's under the same light and get perfect exposure.
Get a Sekonic. You don't have to get high end. You can start with a basic one like the L-308 or L-358, and get one used instead of new.