Yeah, the solution is simple but kind of silly. Create a different Widget Blueprint with one job, which is drawing lines. Then add this blueprint to your main blueprint, and you can change its order and make it covered by other widgets.
However, if you want different lines with different Z-orders, you’ll need to create multiple widgets with lines.
If I were to do it now, I would create a generic widget blueprint called something like ‘WBP_LineDrawer’, where I could draw a single line or arrays of lines.
But honestly, for now, I try to avoid using draw lines in general because trying to make them draw in the right positions in nested widgets was driving me crazy.