Running this (I've greatly simplified here) where the svn_co.groovy script contains a parallel block, results in the attached (1st pic) unexpected pipeline layout. Before I moved the parallel block to the groovy script, the parallel steps were listed under the stage (2nd pic).
I have two instances of the above with almost the same code for running parallel tasks. One looks as expected (right pic below) and the other looks like the left pic. The big difference between the two is the one that does not formatted as expected calls a function defined in vars (I also tried defining it in the same groovy script, but still a separate function). The one that looks right is all self-contained in the parallel block.