Twoje wyrażenie zakłada przede wszystkim że nawiasy mają się znaleźć na samym początku zdania ("^" - początek ciągu) więc "witaj {{ test }} zegnaj" nie pasuje do wzorca.
Druga rzecz, że gwiazdka "*" w składni PCRE oznacza 0 lub więcej wystąpień (nie, jakby się mogło wydawać, dowolny znak; dowolny znak to kropka). Tak więc w powyższe w skrócie oznacza:
ciąg ma się zaczynać od nawiasu, potem ma być zero lub więcej nawiasów, a potem mają być dwa nawiasy zamykające, a potem cokolwiek lub nic

Na marginesie, nawiasy: "{" i "}" są w pewnych przypadkach znakami specjalnymi, więc dla pewności poprzedzałbym je backslashem, ale w powyższym (i poniższym) przypadku akurat nie jest to konieczne.
Poprawnie powinno być:
Czyli: ciąg zaczyna się od czegokolwiek (brak "^"), potem mają być dwa nawiasy "\{\{", potem spacja (w Twoim przykładowym stringu słwo "test" poprzedzone jest spacją - "\s"), potem ma być dowolny znak co najmniej raz powtórzony (".+"), potem ma być spacja, potem dwa nawiasy zamykające "\}\}", a potem cokolwiek, lub nic (brak "$").