I think this is because em! expects the data to be a 2D Matrix, even if it only has a single column. This works:
using DataFrames, GaussianMixtures
df = DataFrame(label = rand(["a", "b", "c", "d"], 200), x = [randn(50); randn(150).+4])
g = GMM(2,1,kind=:full)
g.μ[1] = 1.0
em!(g, reshape(df.x, :, 1))
Note that I changed one of the means before fitting it on the data–otherwise, both means seem to stay identical to each other and the EM algorithm never splits the data into two groups.