Queue duplicate workflowId, execute one at a time?

My question is very similar to this one, with some minor differences.

I’d simply like to queue workflows with the same workflowId such that they are run one at a time. If one is already in the queue, another one doesn’t need to be queued. If one is running however, another one needs to be queued.

Is the answer linked in that thread still the best way to accomplish this?

Yes, currently signaling workflow (possibly with SignalWithStart) and processing signals one by one is the best option.