Can't use CAST, Convert with UDT in Sql Server 2014
I agree with the comment about providing a minimal, complete and verifiable example of your problem.  I'm not sure why you're trying to use CAST/CONVERT when attempting to define a UserType.  Simply use the base SystemType.

DROP TABLE IF EXISTS TestUdt;
DROP TYPE IF EXISTS DecimalPrecision5Scale4;
DROP TYPE IF EXISTS DecimalPrecision11Scale2;
GO

CREATE TYPE DecimalPrecision5Scale4
FROM DECIMAL(5, 4) NOT NULL;

CREATE TYPE DecimalPrecision11Scale2
FROM DECIMAL(11, 2) NOT NULL;
GO

CREATE TABLE TestUdt
(
TestCol1 DecimalPrecision5Scale4,
TestCol2 DecimalPrecision11Scale2
);




--Verify precision and scale of UDT

SELECT NAME
    ,precision
    ,scale
FROM sys.columns
WHERE NAME LIKE '%TestCol%';




| NAME     | precision | scale |
|----------|-----------|-------|
| TestCol1 | 5         | 4     |
| TestCol2 | 11        | 2     |


UPDATE - 2018-09-11 - Regarding OP comment


  how can I explicitly reduce precision using udt


You could create a @temp Table Variable (or #temp table) with UDT columns for the precision you want, insert the raw data into the temp table (letting SQL Server do the conversion) and then select from the @temp table

Declare @TestConvert table(Qty udtPrice)
insert into @TestConvert select qty from TestQty
SELECT TOP 1 Qty from @TestConvert




| Qty    |
|--------|
| 2.1235 |