Raspbery PI GPIO output failing to control RGBW strip via N-FETs (always on 100%)
At first I thought Mosfets used the gate voltage to 'switch' the
  larger source/drain voltage. So when the output of the GPIO reaches a
  threshold, the mosfet switches 'on' and the 12V passes from source to
  drain.


TRUE. (Actually the voltage does not pass, it is the current which passes.)


  Is the Mosfet taking the gate voltage and amplifying the 3.5V to 12V
  proportionally? So 1.75V output (a value of 127) would produce 6V, and
  thus that channel would be 'half' brightness? (If it worked!)


FALSE.

pigs p command controls a PWM output. You should check if your outputs are properly configured as PWM (I'm not familiar with Raspberries). When you control the PWM duty cycle changing it from 0 to 255 (== 0% to 100%) you control the time your color channel should be lit. If your PWM frequency is 50kHz (period of 20us) and your duty cylce is 64 (about 25%) the channel should be lit for 25%*20us = 5us and OFF for the rest 15us. This way a LED strip is dimmed. So far - so good.

The other thing to consider is driving your MOSFET. I think there is your problem. On high frequency PWM a high current gate driver should be used to drive the MOSFET properly. It's because of its input capacitance (and reverse transfer cap. as well).

First try to set up the Raspeberry for a lower PWM frequency. Anything over 100Hz is OK for eye visible light flickering and over 18-20kHz will not produce a sound that human can hear. Then you could get some MOSFET current drivers for at least 1.5A and connect them between the Pi and each MOSFET's gate.

An oscilloscope would be in a great help here. ;)