When having Marketing Cloud Connect in place between SF/SFMC, the Attribute Group connecting all synchronised SF objects is automatically built and set in place.
By using Journey Builder Salesforce Event as the Entry Event, the Data Extension is automatically created and linked in Sales & Service Cloud Attribute Group, by linking ContactKey with the Data Extension Subscriber Key (in this case - PersonContactID) so the mapping appears to be in place.
Journey is configured on allowing re-entry at any time.
There is a 30 minute wait-activity before Decision Split.
When using Decision Splits and configuring attribute-to-attribute comparison custom object record-ID from Entry DE with Contact Data path record ID, it will never evaluate correctly.
Custom record "Purchase" is created in SF > if it matches criteria > linked PersonAccount is added to the Journey (by PersonContactID)
Since one Account can have several "Purchase" records > decision split is configured to map the ID attribute between Entry Data Extension and Contact Data path to check the Salesforce record > the Contact should then go to corresponding Decision Split path.
Contact Data path: Contact Data > SF attribute group (created by Connector) > Contact_Salesforce > Account_Salesforce > Purchase_Salesforce > PurchaseID
As all is done with Salesforce Data (entry and decision splits) there should be no need to manually create any Attribute Groups.