Catch the more specific subclass of ObjectDoesNotExist in SingleObjectMixin

Fixes #21619

I'm not sure if this test is sufficient - I couldn't see an easy way to write a test that would have actually failed previously.