This is thread has been inactive for a while but though I'd share my recent experience in case it is useful. I have created a number of "Float" type domains via python and successfully applied them to Float type fields (ArcGIS Desktop 10.2.1 - SQL Server hosted geodatabase). However when viewing the values in these fields in ArcMap the code would display rather than the description. And in the ArcFM Attribute Editor the values would display with square brackets and hightlight red as an invalid value. Viewing the domain in ArcCatalog the domain type was showing as Double.
Digging in the bowels of the geodatabase in the sde.gdb_items table you can find the XML definition of the domain.
SELECT [Definition]
FROM [Electricity].[sde].[GDB_ITEMS] where name like 'Distribution Transformer Bottom Tap'
Here you can observe the coded values have been created as a type of double rather than float.
<FieldType>esriFieldTypeDouble</FieldType>
...
...
<CodedValue xsi:type="typens:CodedValue">
<Name>2</Name>
<Code xsi:type="xs:double">2</Code>
</CodedValue>
If you cut and paste the definition to a text editor, replacing esriFieldTypeDouble with esriFieldTypeSingle and xs:double with xs:float you can reapply it to the database to update the definition.
UPDATE
sde.gdb_items
SET
definition = '<GPCodedValueDomain2 xmlns:xsi="http:
WHERE
type = '8C368B12-A12E-4C7E-9638-C9C64E69E98F' AND
name = 'Distribution Transformer Bottom Tap'
After this update the field and domain performs correctly inside ArcMap and you can add additional values to the domain via ArcCatalog.
I'm sure this falls in the category of a hack and totally unsupported ... but works.
Testing creation of a domain in ArcCatalog under 10.7.1 suggests this has been fixed in a post 10.2.1 release. I was able to specify a Float domain and have it stay a Float domain.