The Scenario Sicilia Nomad map is the only one that currently uses Garrison property that specifies which starting entities are garrisoned.
The code was introduced in rP16270.
It assigns the object reference from the C++ stored m_InitAttributes in Simulation.cpp.
This means the GarrisonHolder will modify that object and every other place that also modifies that object will have that object be modified sneakily.
Leaving the player without starting units.
This iteration of the patch adds a simple clone to avoid the issue.
But it sounds cleaner if the GarrisonHolder component would have a function that consumes the object without modifying it or storing its reference.