What you describe is how I have viewed the difference between the two words. I am going to hedge my answer by saying that semantic differences like this sometimes require the comments of a native speaker.
Nevertheless, as I said, I am coming at this from the perspective of a non-native speaker, but 결정하다 has always had a feeling of internal debate or struggle of some sort. It is a deeper or stronger type of "decision."
However, this internal struggle can sometimes be pretty veiled. There is no hard and fast "rule" that I know to cite here. Nevertheless, I use 결정하다 when the decision was up to me (or up to whatever the subject of the sentence is). That is the determining factor for me: Did the subject of the sentence have to make the decision, or are we speaking more broadly about a decision that was made (like in the case of a dentist appointment)? Could the decision be a matter of debate (even if it was not actually debated)?
Here are a few examples I was able to come to (some of these come from Naver):
그 두 후보 사이에서 결정을 내리기가 힘들었다. Deciding between the two candidates was rather difficult.
This one was a pretty straight forward use. There was internal struggle who to choose.
새 임금규준을 $15에 결정했다. We set a new minimum wage to $15.
This example is also pretty straight forward. A decision (which was open to debate) was made.
그 원정를 실패로 결정할까요? Shall we call the expedition a failure?
This is a more expansive example. Maybe there was absolutely no debate that the expedition was a failure. But, even so, there could be a debate on the topic if we really wanted there to be.
As for exclusive use of 정하다, I would perhaps suggest the following heuristic. If you are talking about dates or times, 정하다 usually feels more appropriate. This is anything to do with appointments, dinner dates, wedding dates, etc. These are the only settings I am aware of where 결정하다 is unnatural and 정하다 is exclusively used.
약속을 정합시다! Let's make an appointment.
결혼 날짜를 정했다. We set a wedding date.
회의 시간을 정할래요? Do you want to set a time for the meeting?
Overall, 결정하다 and 정하다 have very similar meanings.