The german rules around the long-s, like most rules involving german language, are needlessly complex though and I'm pretty sure the complexity is by design to gate-keep and distinguish the educated from the lower class. Your examples are the ones that make sense, but some others are rather exemplary for the average german desire to feel superior by following the most rules (and all of their exceptions) possible.
On another note how do you type the long-s?