You could draw a 2D array of 2D boards, like this:
▢▢▢ ▢▢▢ ▢b▢
aaa ▢▢▢ ▢▢▢
▢▢▢ ▢▢▢ ▢▢▢
▢▢▢ ▢▢▢ ▢▢▢
▢▢▢ ▢b▢ ▢▢▢
▢▢▢ ▢▢▢ ▢▢▢
c▢▢ ▢▢▢ ▢▢▢
▢▢▢ ▢c▢ ▢▢▢
▢b▢ ▢▢▢ ▢▢c
You'd probably want a 4x4 array of 4x4 boards, though I used 3s everywhere instead to make the example smaller. The example shows a few of the many winning lines (a-c). If it's not clear what counts as a winning line, let's go back to 2D tic-tac-toe and think in terms of coordinates. You could label the normal 2D board like this:
(0,0) (1,0) (2,0)
(0,1) (1,1) (2,1)
(0,2) (1,2) (2,2)
You win by getting a straight line of 3. A straight line will always be one where each coordinate either increases by 1, decreases by 1, or stays the same. So you can win with (2,0), (1,1), and (0,2) because the first coordinate is decreasing by 1 and the second increases by 1.
Higher-dimensional tic-tac-toe works the same way! So in 4D tic-tac-toe we'd use 4 coordinates - in the visualization above, 2 for which board and 2 for where on that board. Then a winning line follows the same rule, e.g. line b above is (2,0,1,0), (1,1,1,1), and (0,2,1,2): the first coordinate (which column of boards you are on) continually decreases by 1, the second coordinate (which row of boards) increases by 1, the third (which column of a given board) stays the same, and the fourth (which row of a given board) increases by 1.