Is the 400000 weight unit not equals to 100kb?
100 KB is equivalent to 400000 weight units only if all inputs and outputs are legacy. A segwit transaction includes some witness data that are counted as a quarter of non-witness data.
Weight/4 = size. That is 4000000/4, making 100000 bytes which is 100kb. Or is this not correct?
Weight/4 = virtual size, not actual size.
400000 weight units is equivalent to 100 vKB.