If the application ABC belongs to organisation Org, by default application wizard creates the class structure Org-ABC-Work. Instead, if we follow our own class structure like OrgABC-Work-CaseA like this, will it be theoretically wrong? Will there be any future complications if we persist with this class structure?
The most basic complication arises when you decide to add a second application to the ECS. This would require that you have a new organization (for example, OrgXYZ) for the application, rather than reusing the organization level (Org-XYZ). In turn, that's going to impact how you set up operators and work queues. It also impacts the ability to share rules between the two applications, since their entire class structures will be different.
For these reasons, the best practice is to keep the Org and application separate for greater flexibility and easier maintenance.