Oui, c'est difficile !
- je retourne à la gare = I went there before, then left the place and now I am going back there (again)
- je reviens à la gare = I am talking to someone who is at the station where I was before, then left and now I am coming back (again)
- je rentre en France = I was abroad, I come back to where I belong/live
Within Duolingo's teaching contraints, we should not suggest anything as long as it has not been taught. So, any "conditional" meaning will be avoided in either languages until the Conditional Skill is accessible.
"I ought to" actually back translates to "je devrais", which is conditional.
So, for the time being, we are left with "I must/need to/have to" to translate "je dois".
Duo's "correct" answer may be incorrect. I don't see "home" in this sentence at all, but perhaps when using rentrer by itself, it idiomatically means "home". But using "home" seems like an assumption of context, which is sometimes made by Duo and sometimes not.
I've run into that little glitch a few times using Duo. One time, I copied the "correct" answer and repeated the module, entering Duo's "correct" answer when the particular exercise came up. As I expected, Duo marked it wrong, and gave me yet another "correct' answer.
I suspect you'd get the same result here. It doesn't happen too often, it's just an interesting little bug in the software that may have been fixed by now.