This is also the way Resque does it still today: LPOP. Sidekiq OSS just offers parity with Resque, it never tried to solve this problem.
Back than I just read the redis docs, understands that BRPOPLPUSH is the right method to call, and made a few ruby functions to do so, you could see it here [1], they are plain and simple.
From my perspective, it's just feature starving OSS part, to push customers towards the paid solution.
[1]: https://github.com/senotrusov/redis-call/blob/master/lib/red...