If I understand this correctly, you have 6 nodes. 3 in DC1 (3 data nodes) and 3 in DC2 (2 data and 1 arbiter). All are connected together forming a 6 node cluster. If that assumption is correct, the cluster behaves as expected. Galera requires a majority of the cluster to be available in order to operate. In the case of 6 nodes, that would have to be 4 nodes (4 data or 3 data + 1 garbd) to be connected. If you have 3 and 3, while cutting the network in between, you have exactly 50% - 50% split and both partitioned parts will switch to non-Primary. There’s no other way in this scenario.

The solution for an automated failure handling is to have 3DC. Then you can build topology like:
DC1: 3 data nodes, DC2: 3 data nodes, DC3 1 garbd (arbitrator) node. It that case, if there’s a failure of a single datacenter, at the minimum you have 4 out of 7 nodes, keeping it a majority. In that case 4 nodes will stay in Primary state, serving the traffic.