The problem is polynomial time solvable.
After discussing with Vivek Madan, we can show that the proof of Theorem 5.1 in Perfect Matching in Bipartite Planar Graphs is in UL works in the weighted context too (their result is to decide if there is a feasible solution).
Let $R$ be the set of even edges.
Let $M$ be a minimum weight perfect matching. If $|M\cap R|$ is even, then we are done.
Otherwise, let $C$ be an $M$-alternating cycle such that $|C\cap R|$ is odd, and it is the $M$-alternating cycle with this property such that it minimizes the weight of $M\triangle C$.
Claim: $M\triangle C$ is a minimum weight even red edge perfect matching.
The problem reduces to finding an alternating cycle that contains an odd number of red edges.
For bipartite graphs, the problem is easy, since it can be reduced to finding a minimum weight odd cycle in a directed graph with no negative cycles. Which seems to be solvable in polynomial time by various accounts (but I cannot find a concrete citation). A Floyd-Warshall like algorithm is sufficient.
For general graphs, a similar approach works, but the reduction is a little more involved. We actually don't know how to do it for general graphs.
Note the bipartite graph case actually follows from a more general theorem. Here we directly quote the following problem from Artmann, Weismantel, Zenklusen 17
Parity TU-optimization
Given a totally unimodular matrix $T$ with $rank(T)=n$, $b\in
> \mathbb{Z}^m,c\in \mathbb{Z}^n,\alpha\in \{0,1\}$ and $S\subset [n]$.
solve
$$\max\{c^T x: Tx\leq b, x\in \mathbb{Z}^n_{\geq 0}, x(S)\equiv \alpha \pmod 2\}$$
Parity TU-optimization can be solved in polynomial time, and the bipartite case of our problem reduces to it. (Note the $rank(T)=n$ is easily satisfied by requiring $x_i\geq 0$ for all $i$).
We have no idea about the case where there is a constant number of colors.