Slicers don't decide what's inside or outside of .stl triangles. An integral part of .stl format is every triangle facet having a defined normal that specifies that. The format is strict about defining a watertight, manifold object, ie a "solid", so if your .stl isn't, that's not because of the file format, it's because your .stl doesn't comply with that geometric parameter. That is, it isn't an actual .stl, it's just formatted correctly and has been given that attachment. Stl was specifically designed to not be modelled with, it was intended to give a faceted approximate (with definable resolution/surface approximation accuracy) output of a single part that could be used for rapid prototyping, intentionally resistant to precise reverse engineering back to the original CAD model and to being edited or amended. Complaining that .stl isn't cooperative or "workable" for modelling or ostensibly simple editing is a lot like blaming .pdf drawing output for not being able to be directly edited in CAD apps. That's what the developers of the file formats intended.