This was far too much work before realizing, yet again, that I don't need to manually decode the pixels because DirectDraw Surface BC7 is part of the webgl2 standard extensions through gl.getExtension("EXT_texture_compression_bptc")