This is normal behaviour. The yellow system LED on the back of the micro:bit will not light up when only running from batteries.
The System LED is powered from the KL26 interface processor (the chip that manages the USB interface on the micro:bit), and this interface processor only powers up when the micro:bit is powered from the USB. When powered from batteries, the KL26 interface processor does not power up, and the System LED will not light up.
If you think there is an issue with the micro:bit, try the following:
1. Check your batteries work. Try them in another device, if they don't work, replace with some fresh batteries. You can also measure battery capacity to ensure you have enough power to run your program.
2. Check the black and red wires that run from the battery pack to the white connector that goes into the micro:bit, make sure there is no damage to them and that the polarity is correct (some JST connectors can be wired in reverse). The red wire going into the terminal should align with the '+' symbol on the silkscreen and black with '-'
3. Check that the white JST connector that plugs into the battery socket of the micro:bit is firmly pushed in.
4. Check when you plug your micro:bit in via USB that the system LED on the back lights up.
If none of these steps help to solve your problem, it looks like your micro:bit might have developed a fault. You should get in contact with the company that you bought it from and check what their returns procedure is.