Hi,
I think the log_prob is differentiable for Normal yes. You can check that by verifying that if mean or std has requires_grad=True, then dist.log_prob(y).requires_grad == True.
In general, the output requires grad, that means that the function is differentiable using the autograd.