Right, that makes perfect sense, it can get confusing because the endings are the same but I think I've got it now.
Follow up question: is this the only correct word order for this sentence, or can O be placed at the beginning to emphasize that you're talking about that jacket specifically?
You can tell them apart if the word ends in a vowel :) fare "mouse", fareyi "the mouse (accusative)", faresi "his mouse". But yes, otherwise they're the same.
I think that you could also have "O kimin ceketi?" and "O ceket kiminki?", but we had better wait for a native speaker to confirm those.
O versus bu has nothing to do with objects or people.
O is used for objects or people that are far away (he, she, it, that, that one) and bu for objects or people that are close (this, this one, this person).
You could say Bu benim arkadaşım "This is my friend", for example, using bu to refer to a person, or O benim arabam "That is my car", using o to refer to an object.