Getdate() always returns manipulated time. Like the last digit of the time is always 0,3 or 7
It's not manipulated"; GetDate() returns a vlaue of data type "datetime" and datetime do have a Accuracy of 3 1/3 milliseconds and thats well documented at datetime (Transact-SQL) => Accuracy
This query
select convert(datetime, '20210525 23:59:59.999')
returns 2021-05-26 00:00:00.000