Question: The definition of perfect security is just that:
$Pr(M =m | C=c) = Pr(M=m)$. We can prove that one time pad is perfectly secure for any distribution on a message space $M$, and it happens to be that the keyspace $K$ has a uniform distribution. Does that have to be true?

For example, let's say $M= \{0 \}$, $K=\{ 0,1 \}$ where $0$ is chosen with probability $p$ and $1$ chosen with probability $1-p$. Then we could have $c = m \oplus k$, and $c=0$ with probability $p$ and $c=1$ with probability $1-p$. Is this perfectly secure if $p \neq \frac12$?

Answer: 
The answer to your question in the title is No.

For example, let's modify a little the one-bit OTP considered in your question description (with a one-bit message space $M=\{0,1\}$). Instead of using a one-bit key $K=\{0,1\}$, we can use a two-bit key $K=\{00,01,10,11\}$ and discard its last bit when doing the xor. It's easy to see that perfect secrecy holds as long as the first bit satisfies uniform distribution, while the 2-bit key distribution is rather arbitrary.

Therefore, for perfect secrecy, the key distribution does not have to be uniform. Actually, this statement should be true for any kind of security. Security-wise, what really matters is the key entropy rather than the exact key distribution. We see uniform key distribution assumed almost everywhere because it is convenient to use (a weird key distribution could cause problems, e.g., for usability) and it gives us maximum key entropy.

Note that though seemingly contradictory, kelalaka's answer is also true; but it considers only the classical use of OTP where the keyspace matches the message space.
Let give an example with a bad distribution on the keys with a message space with 2 elements.

$\Pr[m=0] = p$ and $\Pr[m=1] = 1-p$ and

$\Pr[k=0] = q$ and $\Pr[k=1] = 1-q$

* $\Pr[m=0 , k=0] = pq$ with $c = 0$
* $\Pr[m=0 , k=1] = p(1-q)$ with $c= 1$
* $\Pr[m=1 , k=0] = (1-p)q$ with $c= 1$
* $\Pr[m=1 , k=1] = (1-p)(1-q)$ with $c= 0$

Let have a bias on the keys with $q < 1/2$ and take $p=1/2$ for simplicity:

* when $c=0$ then $$\Pr[m=1,k=1] = \frac{(1-p)(1-q)}{(pq)+(1-p)(1-q)} = \frac{\frac{1}{2}(1-q)}{\frac{1}{2}q+\frac{1}{2}(1-q)} = \frac{(1-q)}{q+(1-q)} > \frac{1}{2}$$

This is actually [linear on](https://www.wolframalpha.com/input/?i=%5Cfrac%7B%281-q%29%7D%7Bq%2B%7D%7B2%7D%281-q%29%7D%20plot%20%20q%20from%200%20to%201) $q$ with $q$ is $x$-axis;

[![enter image description here](https://i.stack.imgur.com/i9El2.png)](https://i.stack.imgur.com/i9El2.png)

Therefore the ciphertext will leak information about $m=1$ whereas in perfect secrecy this probability must be $\frac{1}{2}$.