Предложно-падежные сочетания "в сердце" и "на сердце" во многих случаях можно назвать синонимичными и грамматически эквивалентными, но далеко не всегда стилистически равноценными.
В сердце.
"Умысел" этого сочетания может быть разным.
Например, когда говорят "боль в сердце", то чаще имеют в виду физиологические болевые ощущения в области сердца, в сердечной мышце. Если мы услышим выражение "на сердце боль", то поймём, что разговор идёт, вероятнее всего, о какой-то душевной ране.
Образно говорят "в сердце моря", "в сердце города", "в сердце этого края", "в сердце страны". Говорить "на сердце" в этих случаях было бы негрубой речевой ошибкой.
Прячут что-либо или хранят - тоже только в сердце.
Выстрелить можно только в сердце. А вот стрельнуть "на сердце" невозможно.
На сердце.
Например, "операция на сердце". Применять предлог "в" недопустимо.
Поэтически о психологическом дискомфорте или комфорте рассказывать лучше тоже с использованием предлога "на", если есть желание поэтизировать речь не чуть-чуть, а максимально (хотя и вариант с "в" позволителен):
- "На сердце тоска", "на сердце радость".
_
Интересно, что и "на сердце", и "в сердце" одновременно являются формами и винительного, и предложного падежей.