Originally reported in https://github.com/localstack/localstack/issues/2099, the CreationTime for CF stacks was hardcoded. This was fixed in in LocalStack itself (https://github.com/localstack/localstack/pull/2103), but is now also fixed in moto (https://github.com/spulec/moto/pull/2818).

I don't know what version of moto you're using, and whether it's acceptable to use dev-releases, but if you do: 

moto 1.3.15.dev550 should fix this issue, so the LS fix can be removed if you upgrade :) 
resource = resources[resource_id]
    client = get_client(resource, func_details)
    function = getattr(client, func_details['function'])
    params = func_details.get('parameters') or lambda_get_params()
    defaults = func_details.get('defaults', {})
    if 'Properties' not in resource:
        resource['Properties'] = {}
    resource_props = resource['Properties']
    if callable(params):
        params = params(resource_props, stack_name=stack_name, resources=resources)
    else:
        params = dict(params)
        for param_key, prop_keys in dict(params).items():
            params.pop(param_key, None)
            if not isinstance(prop_keys, list):
                prop_keys = [prop_keys]
            for prop_key in prop_keys:
                if prop_key == PLACEHOLDER_RESOURCE_NAME:
                    params[param_key] = PLACEHOLDER_RESOURCE_NAME
                else:
                    if callable(prop_key):
                        prop_value = prop_key(resource_props, stack_name=stack_name, resources=resources)
                    else:
                        prop_value = resource_props.get(prop_key)
                    if prop_value is not None:
                        params[param_key] = prop_value
                        break
    
    resource_name_holder = {}
    def fix_placeholders(o, **kwargs):