First, 3 or 4 months is to young to change over to adult food and most vets will recommend 12 months but check with yours.
Another thing you want to have done when your dog is getting neutered is to have them check their teeth and if there are still puppy teeth in their mouth they can remove them.
Just because you have your dog neutered is no quarantee that he will stop humping his pillow. There are lots of reasons why they do it

but it does seem to slow down with the neuter.