Here are two images representing what got us to questioning how nodata is read in QGIS.

When we defining the nodata of the image to "0" using QGIS, we were also making internal pixels transparent too. Even those regions that were not "0 0 0" are being rendered transparent.

I was only using QGIS as my testing space to be honest, but it was helping me understand how to solve the issue using MapnikXML; which we managed to do using a combination of:
gdalbuildvrt -srcnodata "0 0 0" welly.vrt *.tif
then rendering the individual rgb bands in Mapnik and adding them back together with:
raster-comp-op: plus;
Using CartoCSS, in order to achieve a similar outcome to the solution in QGIS seen above, the code looks something like:
#red
{
raster-opacity:1;
raster-scaling:bilinear;
raster-comp-op:plus;
raster-colorizer-default-mode:linear;
raster-colorizer-default-color: transparent;
raster-colorizer-stops:
stop(0,transparent, exact)
stop(1,#000)
stop(200,rgb(255,0,0))
}
#green
{
raster-opacity:1;
raster-scaling:bilinear;
raster-comp-op:plus;
raster-colorizer-default-mode:linear;
raster-colorizer-default-color: transparent;
raster-colorizer-stops:
stop(0,transparent, exact)
stop(1,#000)
stop(200,rgb(0,255,0))
}
#blue
{
raster-opacity:1;
raster-scaling:bilinear;
raster-comp-op:plus;
raster-colorizer-default-mode:linear;
raster-colorizer-default-color: transparent;
raster-colorizer-stops:
stop(0,transparent, exact)
stop(1,#000)
stop(200,rgb(0,0,255));
}