It’s explode, extend and join (explode then join just puts you back where you started). When extending you also have to use the setBasepoint option each time to ensure all surfaces extend the same amount (e.g. you choose a point where the red and black lines intersect and use it for all the surfaces). Its a lot of faff.
I don’t know why the corrugated surface won’t extend - it might be because the edge isn’t planar, but that is just speculation. I do know that Rajaa has been investigating some issues with extendsrf, but I don’t know how far that has got.