The problem appears to be connected with the red object as a polysurface. There should not be a problem. @pascal or someone else from McNeel should look at ths.
Using Version 7 (7.3.21012.11001, 1/12/2021)
Explode red object into individual surfaces. Split works with individual surfaces as objects to be split and purple object as cutting object.
Without exploding red object:
BooleanDifference fails with red object as object to subtract from and purple object as object to subtract with.
Split fails with red object as object to split and purple object as cutting object.
Intersect to create intersection curves between red and purple objects. Split works with red object as object to split and intersect curves as cutting object.