What are you doing wrong? Um, pretty much everything? Sorry, but true. ;) However, you do seem to have made some credible effort, and you did try to use functions that were in the correct field of study.
You want to find the pdf of the difference between two uniform random variables. So then why are you using randn, which produces a GAUSSIAN (normal) random variable? Generate a UNIFORM random variate using rand, not randn.
Next, that is not what the function pdf does, i.e., take a set of values and produce a pdf.
I said pretty much everything was wrong, but you did subtract two numbers that were sampled from distributions, so in terms of a difference, you were spot on there. You were heded in the rght direction. :) (Hey, what can I say?) :)
So how might you plot the pdf of a difference of two uniform variables? Simple seems best.
Is that correct? Well, theoretically, one would expect the solution to be a triangle distribution, with peak at 0, and extremes at -1 and 1. That is clearly what we see. A sum of more terms would gradually start to look more like a normal distribution, the law of large numbers tells us that. Using the symbolic toolbox, we could probably spend some time and generate an analytical solution for the pdf, using an appropriate convolution.