Issues in your project at given time can be synchronized and can be not synchronized all of this is on you and your configuration choices.
You need to be aware about sync criteria, for example issues can be restricted to meet JQL defined in Contract configuration by triggers, which can depend on the state of an issue.
IssueSYNC can create issues in remote Jira and only after this event both of them can synchronize fields, workflow, attachments changes, addition, etc.
Once your issue is replicated in remote Jira you will see remote issue key. You also see a Contract name that defines conditions for your synchronization.
In example below Contract name is Story and remote issue key is SC-15. You can also see (warning) indicator that tells you that there are some changes not synchronized yet - they have been passed to synchronization. On Cloud <-> Cloud solution changes should be instant but when it comes to the Cloud <-> DC solution you need to wait by default a couple of minutes to reflect changes in remote Jira - indicator disappears. Note! If you have access (credentials) to remote Jira you can click remote issue key to be forwarded to remote Jira.
In some scenarios/configurations remote issue may be created manually by pressing Create Remote button, which appears only if there is no linked remote issue.
Synchronization History tab allows you to see when and what type of data was exchanged with between local and remote issue in a simple form.
There are more options included depending on synchronization status.
Subtasks can be synchronized same way as main issues. That includes: fields, comments, attachments and so on.
You have to keep in mind subtask synchronization needs a parent issue to be synchronized in first place. Status synchronization status on the parent issue reflects only status of given issue - not its children.