- Иду готовить ужин.
- Иду приготовить ужин.
Both mean "I'm going to cook dinner", but not like the phrase "I'm going..." usually implies. It sounds like you're moving for cooking dinner right now, that's a bit urgent.

- Пойду готовить ужин.
- Пойду приготовить ужин.
Here we can see the future tense + infinitive, but if we're talking about these sentences "as it is", usually it means (in everyday speech) that you can (or you are going to) go for cooking dinner right now. In this case it has the same sense like the first two sentences.
But if we look at the issue on the other hand, it can mean different things. Especially if your examples are a part of the long sentence.
Я пойду готовить ужин после того, как посмотрю кино. Here I'm going to cook dinner in the immediate future.

- Иду приготовлю ужин. - doesn't make sense.
- Пойду приготовлю ужин.
This one also means you are going to cook dinner right now (and I couldn't invent a good example where it can be a part of the long sentence and the sense changes).
So, the most common phrases are: Пойду приготовлю ужин. Пойду готовить ужин. Иду готовить ужин. (the last one sounds Ok if your friends suddenly came.)

About perfective/imperfective aspects. Actually, sometimes you can use either of the imperfective or perfective forms. It just means you don't care about special nuances of the situation (in this case with your dinner). That's why you can see that we exchange the forms sometimes.
However, "Пойду приготовить ужин" sounds more specific than "Пойду готовить ужин". The last one implies a long process. As if you hint "it takes time".

- Иду готовлю ужин. - doesn't makes sense
- Пойду готовлю ужин. - doesn't makes sense