There seems to be quite a big overlap according to dictionaries, but my guess is that there is a subtle difference. Let me give one example sentence that I would like to translate:
I am looking for a partner who is thoughtful (reflective/thinks deeply about things).
It seems like nachdenklich fits here, but some many dictionaries also offer "pensive" as a translation for nachdenklich, which is something slightly different, as it adds a connotation of some sadness involved (https://www.dictionary.com/browse/pensive). This is not what I want to express in my example sentence.
Which of the two words (nachdenklich vs. gedankenvoll) best fits the example sentence the best, and then what does the other one mean?