You are not using bn in your figure, so I assume cv3 should be the batchnorm layer?
The weight and bias parameters of the batchnorm layer will be applied per input channel, so your assumption should be correct as shown in this code snippet:
# setup
bn = nn.BatchNorm2d(32+64).eval()

# change the weight and bias to see an effect
with torch.no_grad():
    nn.init.normal_(bn.weight)
    nn.init.normal_(bn.bias)

# use case 1
x1 = torch.randn(1, 32, 4, 4)
x2 = torch.randn(1, 64, 4, 4)
x = torch.cat((x1, x2), dim=1)
out = bn(x)

# manual approach
out1 = x1 * bn.weight[:32][None, :, None, None] + bn.bias[:32][None, :, None, None]
out2 = x2 * bn.weight[32:][None, :, None, None] + bn.bias[32:][None, :, None, None]
out_manual = torch.cat((out1, out2), dim=1)

# print absolute error
print((out - out_manual).abs().max())
> tensor(3.3379e-05, grad_fn=<MaxBackward1>)