I draw the line on what a real error - 4xx doesn't seem to fit the bill. If you want information then a 2xx code and/or a JSON body would be ideal (for me).
I think this is the crux of the debate is where do you draw the line?
I think this is the crux of the debate is where do you draw the line?