So actually it could also mean "dogs" right?
The oblique case form of the plural कुत्ते (dogs) is कुत्तों. We need to use the oblique case form because it is the object of the postposition के.
So, बिल्ली कुत्तों के ऊपर सोती है = The cat sleeps on top of the dogs
Can we hse पर instead of ऊवर ?
Yes, but it doesn't sound as natural.
'कुत्ते पर' can mean anywhere on the dog while 'कुत्ते के ऊपर' means 'on top of the dog' (on its back)
Thank you for the clarification
It is a postposition that corresponds to the proposition 'of' in the English sentence. Since it is a postpostion, it occurs after its object 'कुत्ते'.
Why can't it be कुत्ते के ऊपर बिल्ली सोती है?