Hi Anthony Pirolli
As per this GitHub document - https://github.com/Azure/bicep-registry-modules/issues/2671, it was mentioned that you cannot use a system-assigned identity with orchestrationMode: 'Flexible' but must use Uniform.
Flexible orchestration does not support System Assigned at the VMSS resource itself , the identity has to be enabled per VM instance.
-  Uniform orchestration - Identity is managed at the scale set level.
-  Flexible orchestration - Identity must be managed per VM instance.
But Bicep or ARM templates cannot assign System Assigned identity to individual VMSS instances during initial deployment in Flexible mode. You’ll need to use CLI, PowerShell, or REST API post-deployment.
However, you can try this bicep template - https://free.blessedness.top/en-us/azure/templates/microsoft.compute/virtualmachinescalesets?pivots=deployment-language-bicep, but ensure you might configure the identity.
resource vmss 'Microsoft.Compute/virtualMachineScaleSets@2021-03-01' = {
  name: 'myVMSS'
  location: resourceGroup().location
  sku: {
    name: 'Standard_DS1_v2'
    tier: 'Standard'
    capacity: 2
  }
  properties: {
    virtualMachineProfile: {
      identity: {
        type: 'SystemAssigned'
      }
      // Other VMSS properties
    }
  }
}
Additional References:
https://free.blessedness.top/en-us/entra/identity/managed-identities-azure-resources/how-to-configure-managed-identities?pivots=qs-configure-portal-windows-vm
https://free.blessedness.top/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-orchestration-modes
Hope this helps!
Please Let me know if you have any queries.