Precisely - if the tab where the table sits is Not the active one than there is no tabulator table existing to be updated. But it is not impossible to do what you plan to do.
So you need something infront of ui-table to take care of holding the data and replays it if the tab gets visible.
Or here: [Announce] remote device table (and collaboration wanted)
Or here:
They all use a subflow taking care of handling the table data and layout.
The dashboard replay the last message to a widget when a client connects. This is why your first example work the hole table in one array. The idea using commands is to be able to update any part of the table down to cell level without sending the hole table every time. This is why the syslog table can hold thousands of lines easily and updates as quick as when there are only 10 lines.
Hope the UI-table handler will help you. It takes a little bit of reading but i use ot in many flows with ui table. You can even configure it that the tabe data survives a Node-RED restart