Note: I've responded in the hopes of sharing info and being corrected where I'm wrong. Take this as inquiry!
In my understanding -- yes, agreed.
Right. I do use Plex for this purpose, on ATV.
Again, agreed, in principle. What the platform (hardware + software) supports is distinct from what applications on that platform choose to support.
I would say that the platform definitely supports outputting up to 7.1 LPCM (at what bit depths/sample rate max?); whether your source is lossy or lossless is an application-level concern.
The OS platform claims to support both E-AC3 and TrueHD streams with its AVPlayer framework; this in theory lets the system decide whether to pass through the stream or decode it onboard to LPCM.
Apps like Infuse probably use their own player, bypass AVPlayer, etc.
My point here is that the metadata is not discarded -- it's used to render the 5.1 or 7.1 output. It's NOT passed along, because LPCM wouldn't support it anyway! To pass it along, you'd need the output to be inside a container that supports this metadata, which is passed to an external Atmos renderer (ie in your receiver/processor.) This is not my use case so I haven't spent time on this, but my understanding is that this works for lossy Atmos but no one has found a way for this to work for lossless Atmos formats from a third-party player -- not sure if that's right?
When the metadata is used to render object-based spatial audio to 5.1 or 7.1, clearly there's no way of rendering distinct height channels with that channel layout -- but you get those objects rendered with what's available. In other words, I hear height objects still.
Handy test tracks (lossy):
(Potentially offtopic, but: I have used APL Virtuoso with Apple Music on a Mac, and can see the Atmos renderer there sending the height data as distinct channels.)