Claude says:
*Same call stack, same execution path — just one extra method dispatch that the JIT will likely inline anyway.
That said, the swap is still a good idea for non-perf reasons:
UmbracoHelper also pulls in ICultureDictionaryFactory, IUmbracoComponentRenderer, and per-instance AssignedContentItem state — extra surface you don't need outside of Razor views.
UmbracoHelper is intended for templates; IPublishedContentQuery is the right abstraction for services, controllers, value converters, etc. (smaller, single-purpose contract → easier to mock in tests).
Both are request-scoped, so lifetime is identical.
So: do the swap for cleanliness/testability, not performance.*