I think a body entered signal should be on the bullet, it is an area and the target is a body , a body is entering the bullet and area is entering the enemy. when I have a problem like that I will put a print statement with the body entered function that receives the signal to check if a signal is being received, for me I usually have layers wrong.
this is how it looks in my project.
the bullet checks the body that entered its collider for a function 'take damage' and delivers the amount of damage for that bullet. it comes from KidsCanCode Top Down Tank tutorial