This works great:

    bpy.types.Object.color_asd = bpy.props.FloatVectorProperty(
                    subtype='COLOR',
                )

This errors: 

    UID_short = "asd"
    bpy.types.Object[f"color_{UID_short}"] = bpy.props.FloatVectorProperty(
                    subtype='COLOR',
                )

Error:

    TypeError: 'bpy_struct_meta_idprop' object does not support item assignment

But the approach is wrong to begin with.
Let's say I have 2 cubes, Cube and Cube.001
I then would like to create a custom property only for a specific object like:
Cube.color_asd

And for Cube.001 for example
Cube.001.color_mega

Like so:

    name = f"color_{UID_short}"
    obj[name] = bpy.props.FloatVectorProperty(
                subtype='COLOR',
            )

Which then errors with:

    Error: Python: Traceback (most recent call last):
      File "C:\Users\bratp\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\Liebherr-Toolbox\material_panel.py", line 1037, in execute
        obj[name] = bpy.props.PointerProperty(type = ObjectCustomColors)
    TypeError: invalid id-property type _PropertyDeferred not supported

I can't figure either issue out.