Yeah, I agree that you’d want to keep an eye on the interaction between the sigma value and the err_lam posterior. In principle, as sigma_val approaches zero you have the exact case you are looking for, but I wonder about the sampling stability for very small values of sigma.
I am but a humble pymc3 user, but whole-heartedly support your changes to incorporate a location parameter. I started looking at the implementation of pm.Laplace which is essentially the same functional form (except mirrored) and has a location parameter (mu). Seems like that could get you most of the way there with Exponential.
https://docs.pymc.io/api/distributions/continuous.html#pymc3.distributions.continuous.Laplace
I’m curious what the regular devs have to say.