Your last screenshot looks like it's probably right.
BTW, these two are the same thing:vertex_output.tbn = transpose(mat3( tangent.x, bitangent.x, normal.x,
tangent.y, bitangent.y, normal.y,
tangent.z, bitangent.z, normal.z ));//manually transpose, then (un)transpose
vertex_output.tbn = mat3(tangent, bitangent, normal);
yeah I just noticed that, so no matrix transpose or inverse at all --> very cheap
and thanks for confirming AND for the help