The general thing in 3D that makes a metal metallic, is that it has a black diffuse and a tinted glossy component (along with an altered Fresnel response, but that's tunable.) This corresponds to the physical reality of an ideal metal: photons do not pass through its surface to bounce around and reflect diffusely from deep within; they only ever reflect off of its surface, or they are absorbed.
Because of this, a metallic object has no diffuse component, only a glossy component. Any diffuse bake of a fully metallic material will give you black, because a metal's diffuse component is black. If you have a metal mix, you'll just get a darker version of your base color, because all that an interpolated metalness is doing is interpolating between a full metal and a full non-metal.
In general, baking glossy components doesn't make a lot of sense, because they're view dependent-- unlike diffuse, they depend on where the camera is; they point at the reflection of the incoming vector over the surface normal. So any real glossy bake might as well be a render instead of a bake: they're only ever going to be valid for a single camera position*. Because metals are glossy and thus view dependent, no bake is going to capture their response.
Most engines are going to include a metallness-based material, in which case there's no need to bake metalness into diffuse-- you just bake it into metalness, by plugging your metalness value into emission and baking a new texture (from an emission bake rather than a diffuse bake, of course.) Then you can use your metalness texture as your metalness in whatever engine you are using.
*There are times when it's useful to bake view-dependent effects into a fixed texture, but unfortunately, Blender doesn't do that, or rather, doesn't do it very well; as far as I can tell, it always use the surface normal as the sample->camera vector. Maybe if Eevee baking is ever implemented, we'll see the potential for Blender to do some view-dependent baking.