James,
the basic problem you are hitting is that that is not what Flatten Hierarchy is for. Basically it is designed for tables listing employees, where the employee goes to one point in the hierarchy, and all the other columns are a hierarchy on that particular primary-key value (specifically a management chain) Here are 2 options for you.
option 1) what specifically are you trying to achieve with the transformed data? I ask because my first thought when I look at your comment is to use unpivot instead.
It would give you a table that looks like:

You can then do a simple if formula to make collapse column a bit more user-friendly, and you have a clean mapping table from server names to apps and services

Option 2)
Make your leaf unique. You can do this by adding a new column that concatenates together all the columns in your table BEFORE you flatten. This should give you the exact output you described (once you filter out the new rows added by this new leaf). Personally I would investigate option 1 first.