So, I got around to fixing it myself and the solution doesn't even need SE 0.3. Just add SE to pipelayer's optional dependency and run
data.raw["pipe"]["pipelayer-bpproxy-pipe"].collision_mask ={}
data.raw["pipe-to-ground"]["pipelayer-bpproxy-pipe-to-ground"].collision_mask ={}
data.raw["storage-tank"]["pipelayer-bpproxy-pipelayer-connector"].collision_mask ={}
data.raw["storage-tank"]["pipelayer-bpproxy-pipelayer-output-connector"].collision_mask ={}
in data-final fixes. And for allowing pipelayer in space add
data.raw["storage-tank"]["pipelayer-connector"].se_allow_in_space = true
to data-updates
and change line 17 of BaseEditor to
return zone and (zone.type == "planet" or zone.type == "moon" or zone.type == "orbit" or zone.type == "asteroid-belt" or zone.type == "asteroid-field" or zone.type == "anomaly")
The balance with normal pipes being allowed in that editor is another issue, but it works without errors. Btw, do editor surfaces add to the save file size?