Yeah, feel like if I just started a day earlier these things would have hopefully been fixed.
There's also no preference for which outputs they go through, the entities getting stuck in pipes was likely because you tried piping a vertical into a horizontal, etc.
For a refactored version of this game I am instead using the A*2D algo - instead of the rudamentary solution. AKA checking the last position, the current position and then having an if statement of all the possible directions.