I ended up finding a solution. I had to create a new class inheriting MapTileLayer, then override GetTileUrl:
protected override string GetTileUrl(int x, int y, int z)
{
return UrlTemplate
.Replace("{x}", x.ToString())
.Replace("{y}", y.ToString())
.Replace("{z}", z.ToString());
}
The underlying problem is that the base method is in fact forcing https. In this case I was making a local call to localhost proxy, didn't need high security with this design, and really didn't want to deal with the complication of a certificate.