As I guessed, you assigment is not correct for xAct. When you write
L[-\[Iota], -\[Mu], -\[Kappa], -\[Nu]] = (g[-\[Iota], -\[Kappa]] g[-\[Mu], -\[Nu]] - g[-\[Mu], -\[Kappa]] g[-\[Iota], -\[Nu]])
you are telling mathematica to substitute "L with the specific indices
-\[Iota], -\[Mu], -\[Kappa], -\[Nu]" by your expression on the right. However, if you put other indices or raise one of them, Mathematica identifies the expression as a different one and it doesn't make the substitution. You can easily check that running:
L[-\[Iota], -\[Mu], -\[Kappa], -\[Nu]]
L[-\[Iota], -\[Mu], -\[Nu], -\[Kappa]]
L[-\[Iota], -\[Mu], -\[Kappa], \[Nu]]
The first expression, which is exactly what you defined, is substituted, but the other ones are not. For that, as I mentioned on my last message, you cannot use your assigment but you need to use IndexSet instead. In your case:
IndexSet[L[\[Iota]_, \[Mu]_, \[Kappa]_, \[Nu]_], g[\[Iota], \[Kappa]] g[\[Mu], \[Nu]] - g[\[Mu], \[Kappa]] g[\[Iota], \[Nu]]]
If you do that, the expression is substituted regardless of which specific indices you use. You can try again to run
L[-\[Iota], -\[Mu], -\[Kappa], -\[Nu]]
L[-\[Iota], -\[Mu], -\[Nu], -\[Kappa]]
L[-\[Iota], -\[Mu], -\[Kappa], \[Nu]]
to see the difference. With this correction, you have
IN: eq4 // Simplification
OUT: -6 g[\[Iota], \[Nu]] h[-\[Iota], -\[Nu]]
Best,
Juan