I think they could easily get around the DNA issue. When they try to identify something by DNA they need to have a sample to match it to – which means they need to have something of Kathryn’s to try to match it to. If the heart doesn’t match whatever sample they have provided of Kathryn’s they will simply determine it is not Kathryn’s heart. They won’t then say “Hey, maybe it’s David’s heart. Let’s get a DNA sample from him and run it against the heart to see if it’s a match.” Emma said that there are no other missing people in Storybrooke so they would determine that the heart (if it is found to be human) must have come from someone outside of Storybrooke. They would never think to check the DNA of someone who is alive against a heart.