Вы правы, это одна из самых запутанных частей разработки Android.
Если при том же разрешении устройство A имеет среднюю плотность, а устройство B - высокую плотность, физически устройство A будет больше, чем устройство B.
Чтобы добавить к этому следующие цифры, допустим, что изображение mdpi bg было 100x100 пикселей, и мы пытались разместить прямоугольник от 10,10 до 15,15. Если мы определим смещение в пикселях, вот что мы получили бы:
устройство A (mdpi): bg изображение 100x100px, смещение 10px x 10px
устройство B (hdpi): изображение bg 150x150px, смещение 10px x 10px
Если вместо этого смещение указано в dp, результат будет:
устройство A (mdpi): bg изображение 100x100px, смещение 10px x 10px
устройство B (hdpi): изображение bg 150x150px, смещение 15px x 15px
Прелесть dp в том, что они масштабируются пропорционально другим вашим чертежам.
Обновление: в своем ответе на Aleadam вы можете обойти эту проблему, предоставляя различные художественные ресурсы в drawable, drawable-hdpi согласно инструкциям здесь.