Your current infrastructure is certainly overkill.
Microsoft does have a white paper recommending architecture, which is also overkill, suggesting each role (Management, Publishing, Reporting) be separate with load balanced pairs.
Ignoring that you mentioned Citrix for a minute, I generally recommend combing Management and Publishing on the same VM. Quite frankly having Reporting on the same VM is OK in my book for most customers (if you have a lot of users at 2AM maybe not).
For scale, a single VM would handle 1600 people, but of course you'll use two for redundancy because otherwise you'd have to explain why not.
In a XenDesktop/App situation, it is not uncommon to place the Management Server on the XenControllers and the Publishing Server on Storefront servers.
Tim Mangan MVP for App-V and Citrix CTP Author of AppV books: "PowerShell with App-V 5 (5.1 Edition)", "The Client Book (4.x)" and "OSD Reference Book" (http://www.tmurgent.com/Books )