I did find the answer myself, but others might benefit:
 There is no need to open the program before converting the container to tabbed/stacked. That is:
  - Split the window in a direction
  - Convert it to tabbed/stacked (does not result in any visual change)
  - Launch the new program, it will launch in a tab/stacked
  
 One can probably use i3-msg to create a short program that makes it a single commmand, instead of two.
 A design question related to that would be: Why is there a difference between a "splitting layout" and "layout"?