Late answer, but I'll try to get to your real point.
You are correct. And the easiest way to make your point is to mention that other typed languages (like Visual Basic) have logical operators that can act on both Boolean and Integer expressions.
VB Or operator: http://msdn.microsoft.com/en-us/library/06s37a7f.aspx
VB Bitwise example: http://visualbasic.about.com/od/usingvbnet/a/bitops01_2.htm
This was very much a language design decision. Java and C# didn’t have to be the way they are. They just are the way they are. Java and C# did indeed inherit much of their syntax from C for the sake of familiarity. Other languages didn’t and work just fine.
A design decision like this has consequences. Short circuit evaluation is one. Disallowing mixed types (which can be confusing for humans to read) is another. I’ve come to like it but maybe I’ve just been staring at Java for too long.
Visual Basic added AndAlso and OrElse as a way to do short circuit evaluation. Unlike basics other logical operators these work only on Booleans.
VB OrElse: http://msdn.microsoft.com/en-us/library/ea1sssb2.aspx
Short-circuit description: http://support.microsoft.com/kb/817250
The distinction wasn’t made because strong typing makes it impossible to only have one set of logic operators in a language. It was made because they wanted short circuit evaluation and they wanted a clear way to signal to the reader what was happening.
The other reason (besides short circuit) that c and c++ have different kinds of logical operators is to allow any non-zero number to be reinterpreted as TRUE and zero reinterpreted as FALSE. To do that they need operators that tell them to interpret that way. Java rejects this whole reinterpret idea and throws an error in your face if you try to do that using it's logical operators. If it wasn’t for short circuit evaluation the only reason left would simply be because they wanted the operators to look different when doing different things.
So yes, if the Java and C# language designers hadn't cared about any of that they could have used one set of logical operators for both bitwise and boolean logic and figured out which to do based on operand type like some other languages do. They just didn't.