По своему существу слово КОНТР-АДМИРАЛ является термином. Оно обозначает звание.
Первая часть слова КОНТР здесь не имеет знакомого нам значения приставки,
да оно и приставкой-то не является в этом существительном.
И в русском языке есть все-таки правило, регулирующее правописание слов через дефис, в том числе и группы слов, которые обозначают должности или звания и в первой части которых употребляются слова вице, обер, статс, штабс и много других, а также слово КОНТР.
Очевидно, что оно пишется со словом адмирал по аналогии со словами типа вице-премьер, обер-лейтенант, штабс-капитан, статс-советник, экс-президент.
Встречала я и слово контр-апроши, имеющее отношение к военному делу.
Это укрепительные траншеи, окопы, сооружаемые перед заграждениями неприятеля осажденными.
Оно тоже пишется через дефис.
Может быть, такое написание связано с военной терминологией.
Хотелось бы узнать это от сведущих людей.