you should think very hard about if using global env variables is wise, there are probably some good use cases but they would be rare I think, best avoided where possible.
That said, it's incorrect to use eventReactive when you are not making a reactive value but doing an observe type action so replace the eventReactive with
observeEvent(input$submit,{
cat("submitted\n")
assign("data", text_reactive$text,envir=.GlobalEnv)
datafromglob <- get("data",envir = .GlobalEnv)
cat("data from glob is \n",datafromglob,"\n")
})