Yes, you were rude and it was unfair to put your in-laws, hubby and dd in that position.
Coming into a room and voicing such a strong opinion on something in someone else's home sounds pretty rude full stop. Unfortunately, for you the gift was the thing that you chose to comment on.Which you could not have foreseen (maybe).
Now you will not really know if you dd would have liked it or not.
You will also not know if the thing is worth any money!
I your shoes I would do a very quick back peddle! Say to your dd that you were rude (I expect you would not want her behaving that way) and ask her if she would like the doll.
Maybe you could paint the lips and dye the hair, make it a new outfit, you may find this a fun activity and your dd may too. Or maybe, as Grandma loves the doll, Grandma could do the doll up with dd.
Then I would suggest a card to in laws apologizing followed up with a call. You could sat how rude it was to blurt that out and you know you hurt their feelings.
You do not need to lie and pretend you like the doll. You do not need to take the doll if you don't want it.
If you need any inspiration, just fast forward in your mind to when your dd brings home her hubby and child and you want to give them something, of value to you, for your granddaughter. And your son-in-law says what you said!
Just so you know we got given a doll (with a foam body) from a friend, it was her mum's and very precious to her after her mum died. It constantly leaked foam particles and after a while I said to my friend my dd was too young for it and we were not sure what to do. Would she want it back etc. I think in the end it went to a charity shop. My friend was happy dd got some play out of it, it was a nice gesture (it was BIG) and happy it went on to another place. No need to ever say how I felt about a large foam-bodied doll.
Good luck 