One thing pointed out on another board, there are no hold short markings on Runway 4L at either Runway 31L or 31C. Still doesn't absolve the Flexjet crew, but is a contributing factor.
Using 4L as a taxiway honestly seems like poor procedure, lack of these markings for one. The FAA in Airport Design discourages taxiway crosses near the "high speed" portion of the runway, approximately the center third or half. There isn't a parallel to 4L probably for that reason, so ATC just uses the runway.
Like the DC crash, normalization of deviation. If they had only made Flexjet follow the taxiway system perhaps this could have been avoided. Fortunately this time the SWA crew was on their game and went around. Watching it again it doesn't appear their gear ever touched.