I'm no expert on this but I goaded a few experts on this and in the end I don't think they came up with any good reasons why 'elsif' shouldn't just be declared "a statement" as far as opcode generation is concerned so that run-time line numbers can be correct and the debugger can stop on such lines.
I expected that this would find its way to p5p and someone would post some evidence of that to this thread. Maybe this goading will make that happen. If not, you might want to escalate to p5p yourself (after first searching the archive to see if it has already been discussed).