It is possible, though you won't get that long in the center.
By way of comparison I had a 4h20m layover in March during which I passed Schengen immigration and went immediately to Flytoget which departed immediately after I boarded. I managed to spend about 45 minutes walking around the center of Oslo doing some essential shopping for my partner, then took Flytoget back, passed security, and had half an hour or so in the lounge before departure. I did not dawdle until I reached the lounge.
I would get to the airport 45-60 minutes before departure to have a reasonable chance of getting on your flight. If you do get there 45 min before do not hesitate, hurry.
Flytoget is reliable.
I'm sure better dining is available in central Oslo than around the airport, but I still note that Flytoget is not the budget option for travel.