Translation:A cat will not punish a kitten if it has eaten a mouse.
It's confusing because the English phrase would be, "A cat will not punish a kitten if it eats a mouse." In Esperanto, the last part has the tense it would have during the proposition (rather than "X happens if Y happens [first]," Esperanto says "X happens if Y has happened").
That would be the right explanation for indirect speech, but se-clauses follow their own rules.
PMEG is pretty bad on this point, but PAG has the details in section 257. Heavy grammar ahead.
The usage in this case is "kaŭzo ebla," which gives se the same sequencing as ĉar, and talks about a specific event, rather than a theoretical if-then rule (kaŭzo teoria). Kaŭzo ebla can have a mixed expression of time and works the same as ĉar.
Kaŭzo teoria uses the same tense in both, usually the present or future, because it doesn't express a connection to real time.
> Kato ne punos katidon se ĝi manĝis muson. (kaŭzo ebla)
this has almost the same meaning as
> Kato ne punos katidon ĉar ĝi manĝis muson. (kaŭzo reala)
The difference is that se is slightly less real. The speaker predicts the future (ne punos) conditioned on the truth of the preterite (se manĝis). With kaŭzo reala, both would be asserted as true.
And in both cases, English requires tense concordance. Present-system future in the main verb (will not punish), so present-perfect (has eaten) in the subordinate
I dunno, I've used the construct presented in this sentence before. Depends on how precise one is trying to be in their diction. So I have no problem with it, and, similarly have no problem with your choice of sentence; I just might translate it differently.
Remember that Duo is trying to teach us various ways of saying differing Esperanto words, the whole English thing is a side effect. (sort of like a mousy little rash…)