Acho que isso está acontecendo porque não há um grupo chamado examplegroup. O grupo se chama ExampleGroup.
ListController::generate_message_route faz o seguinte:
group = Group.find_by(name: params[:group_name])
Alterar isso para:
group = Group.find_by(name: params[:group_name])
group = Group.where('lower(name) = ?', params[:group_name].downcase).first unless group
parece resolver o problema. Mas tenho certeza de que esse não é o problema real. Em algum lugar o parâmetro está sendo convertido para minúsculas onde não deveria (acho que…).
Acredito que a correção adequada aqui é não exigir o nome do grupo com inicial maiúscula nos parâmetros da URL. Isso foi feito via:
Note que navegar para /u/username/messages/group/groupname dispara uma requisição AJAX para /topics/private-messages-group/username/groupname, então o que @angus fez acima para depurar esse problema parece correto.