Although they dont have as many engine features as the workspace itself, ViewportFrames would work perfectly for this. You can put them inside a SurfaceGui on your screen and they will render a world on the screen.
You would have to duplicate the workspace and everything you want rendered (models like goals, lines, the ball, but also players/characters) and update those duplicates every frame.