Sub tasks are not visible on JSM portals for customers. They are meant for Agents to break down and individually assign parts of the request amongst each other.
If you want to create a linked issue to the original I suggest that you use "create a linked issue" and ensure that the issue you create is of another issue type than subtask plus that it has a request type configured.
In Jira software project it's another ball game. There everyone that has browse permissions to the project have permissions to everything - all types of issues. (if there is no issue security scheme in place).
Sorry for the bad news, but I hope it helped a little anyway
I'm going through the Issue Security Scheme.
In the mean time I have created a new Role, and added the customer to that Role. Now when I share 1 ticket with the customer, he is able to see all tickets in the Project, whether they are shared with him or not.
How can I disallow him from seeing all tickets and instead only see the ticket shared with him ?
Or is this related to Issue Security Scheme too ?
Given the classification in your community post you are on Cloud and the issue is about Jira Service Management.
In JSM the role "customer" does not cost a license, and people invited to portals as customers should ONLY see the portal view and only see their own Requests (or request specifically shared with them).
In JSM the role "agent" cost a JSM license and they are allowed to work with requests in Jira and have full access to the project, its issues, all types of issues etc.
You should really keep the roles to a minimum in Jira.
Good documentation for understanding users, roles, permissions is found here: https://support.atlassian.com/jira-cloud-administration/docs/manage-users-groups-permissions-and-roles-in-jira-cloud/