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