Милрой родился на ферме около поселка Кантон, в пяти милях к востоку от Салема (Индиана). Он родился в том самом году, когда Индиана вошла в Союз, поэтому Милрой иногда шутил, что он так же стар, как и штат. В 1826 семья переехала в округ Кэролл. Отец Милроя был военным и участником войны 1812 года в звании майора, и его рассказы самого детства зародили в Милрое мечты о военной карьере и славе генерала. В 1843 году он окончил военную академию в Вермонте, но в регулярную армию его не взяли. В 1845 он отправился в Техас и после начала мексиканской войны стал капитаном 1-го индианского волонтерского полка. В одном полку с ним служил Лью Уоллес. Однако, полк так и не был задействован в боях, и Милрой вернулся в 1847 Индиану, так и не обретя боевого опыта. В 1850 году он окончил школу права при Индианском университете и вскоре стал судьей в Ренселларе.