tekrar kontrol ettim de wordpress olduğunu düşünüyorum the_permalink() fonksiyonu olduğu için.
the_permalink() text olarak url dönüyor, diğer esc_url() fonksiyonu da aynı şekilde. yani array_key_exists ile kontrol edemezsiniz. strpos ile text içerisinde aranan kelime kontrolü yapabilirsiniz

sadece replace yapacaksanız şöyle yapabilirsiniz.
function replace_url($Url){
if(strpost($Url,'amp') !== false){
/* url içinde amp kelimesi geçiyor */
echo str_replace("http://", "https://www.example.com/", $Url);
}else{
echo $Url;
}