В общем сам разобрался. Если кому интересно, то дело в том, что imageView создает отступы вокруг себя относительно своего лейаута. Что по сути и есть назначение метода setMargins. И просто указав для bottom значение не приведет к видимому результату. Но если добавить еще такое значение для top, чтобы картинка опустилась, то можно увидеть, что внизу будет отступ от экрана равный тому значению, который указали в bottom.