Out of curiosity, I tried creating multiple OpenGL contexts and windows on ANGLE. Then I've found that it stops working with "OpenGL not initialized" error whenever I close one of windows.
It seems that SDL automatically unloads ANGLE libraries when one of OpenGL context is deleted. Test app works fine if I don't delete context.
but why is SDL handling cleanup in such a bad way? Maybe It's not tested with multiple contexts?