In common American usage, generally, they are basically interchangeable. Personally, I would more likely than not say 'school ends at 4 pm.' Either way wouldn't sound strange.
For your second question, we would say 'finish', for: 'What time do you finish school today? because you are not choosing to 'end' the school day at that particular time, rather it is out of your control. Or, we could also say: 'What time does your school get out?' Where 'get out' is idiomatic, sort of like when are you 'released from school-- this is more common for grade school or high school, though, because you're basically there against your will.