Jag fick det att fungera och lägger upp svaret här om någon behöver hjälp i framtiden.
I grund och botten kan vi göra en enkel where fråga med @> operatör. Och värdet kan json-kodas med den sökta e-posten. Följande är frågan för att söka efter viss e-post utan att använda whereRaw metod.
$contacts = Contact::where("emails", '@>', '[' . json_encode(['value' => $query]) . ']')->get();
Hoppas det hjälper någon annan i framtiden :)