Your female cat is actually a male. This is the penis you are seeing.

Edit: Ok well............If your vet hasn't been able to tell the difference between a male and a female by now, I would seek another vet.

Very young kittens can be difficult to tell what sex they are. But a four month old should be evident. Next time you have the kitten to the vet, tell the vet what you've seen and have him try to expose the penis. It won't hurt the kitten. And there may also be an issue with Cryptorchidism. Cryptorchidism is when the testicles fail to descend into the scrotum. This is more prevalent in dogs, but can happen to cats too. You need to find out BEFORE the cat goes in for spay/neuter surgery. If it is a male and the vet thinks it's a female, the vet would be preforming major abdominal surgery looking for a uterus. If the kitten is a male and the testicles are undescended, the vet may overlook them and fail to remove them. Undescended testicles can become cancerous if not removed.