Same. I think you just use transactional-update instead of zypper when you're ready to install something permanently. I don't know what the package selection looks like though.
But anything that's going to need frequent updates should probably be installed outside of transactional-update. For compilers, I generally use some kind of compiler version manager (e.g. rustup for Rust), which would be outside of the immutable base.