I think this was a great question for learning some basics. I am confused by--but accept, of course--the plural form "haftē" after "aik" (and the same case for "Aik mahinē mein char haftē hotē hain.") Hopefully, I will understand it better after learning about the oblique case (or something else).
You've guessed right that it has to do with the oblique case. Though the words हफ़्ता and महीना happen to have singular oblique case forms that are the same as the plural direct case forms, these concepts are different.
सप्ताह (a latter-day borrowing from Sanskrit) is a more 'formal word' so it would be more common in written Hindi and formal speech. हफ़्ता (borrowed from Persian) is more common in colloquial speech.