I know that there is a section in http://developer.android.com/guide/practices/screens_support.html about the categories of the physical screen sizes but the diagram is very rou
In my experience, there are no "specific limits" to the screen sizes using the small, normal, large, x-large notation. They are more general and will get you by in the majority of cases. These values are part of the rom on the device, so it's up to the manufacturer to conform to the standards in the API documentation or not.
If you are targeting API 13+, you can use the sw-dp notation to get more specific (see http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts).
The Android Compatibility Definition only states that devices have to be greater than 2.5". It does however also require compliance with the multiple screens support doc so while these sizes are rough (as you pointed out) this is all you can rely on and probably the best information you'll get. I believe Google is intentionally being vague here. You (as a developer) should not need to worry about exact physical screen size.
To elaborate on John Boker's answer...
xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp
And since 160dp
approximately equals 1in
on every device:
Density-independent Pixels - An abstract unit that is based on the physical density of the screen. These units are relative to a 160 dpi (dots per inch) screen, on which 1dp is roughly equal to 1px.
http://developer.android.com/guide/topics/resources/more-resources.html#Dimension
The physical sizes can be calculated approximately as follows:
xlarge screens are at least 6in x 4.5in
large screens are at least 4in x 3in
normal screens are at least 2.9375in x 2in
small screens are at least 2.6625in x 2in