Because, as you say, L*a*b* is a superset larger than either sRGB or Adobe RGB, you're right, this is safe — if you have enough bit depth to prevent color mapping errors. In practice, this means that if you are working in 16 bits per channel, there is no loss. If you are working in 8 bits per channel, there may be some, as you are spreading your "crayons" quite thin (see the post linked above).
I say "in practice", because there is a very small chance that even when working in 16 bits, if you go back to 8 bit for results, you may find that a value which was represented as (say) "127" gets mapped to something which, due to rounding, comes back as "128". This would only happen in borderline conditions, and it's incredibly unlikely that anyone could ever tell the difference even under the closest inspection. And, since you're most likely doing something to the image in the meantime (working in that L*a*b* space), any potential minute errors are going to be totally lost in even the most minor of "real" adjustments.