Правильно: скрепя сердце – против воли, против своих убеждений, мужественно. Скрепя - то же, что скрепив. Оборот, вероятно, связан с движением хватания себя за сердце при сильном седцебиении от волнения, то есть буквально: "скрепить сердце чем-нибудь" . Скрепить в этом выражении имеет внутреннюю форму "сделать крепким".
Я имею сердце – по-русски так не говорят. Правильно: У меня есть сердце.
Все приведенные Вами варианты корректны.
Может быть, так: сердце птицы работает..?
Прямое (непроизводное) значение слова "золотой" - "сделанный из золота". Указанное Вами значение является производным (переносным).
Здесь верно: пожертвовал сердце.
Правильно: со смертью Ричарда Львиное Сердце.