That would be a good way to handle fee, I think trampolines would do a similar thing when that feature gets added to LN. One thing about them and the model you laid out is that you could not guarantee that less of a fee is paid. If a user sets a max fee, that's basically the fee charged to the sender that they probably won't get back if it's actually less than that in practice.
Perhaps you could do JIT route calculations to make it dynamic, or even do a probe to find a route that would work first. Maybe a route doesn't even exist, so you could fail fast and not provide an invoice back to the user at all. Either way, I think it's a great service.
Yeah you have a good point, it's like half of the visibility the VPN has if you want to think of it that way.