I wrote this after being in the exact same scenario and needing to shrink the database. I did not want to use DBCC SHRINFKILE so I used Paul Randals method of shrinking the database.
Old post but very helpful!!
I proved it does move in SQL Server 2017 by truncating partition 2 after the update and the record is still there in partition 1
TRUNCATE TABLE IDRanges WITH (PARTITIONS(2))
select * from sys.partitions where object_id = object_id('IDRanges')
partition_id object_id index_id partition_number hobt_id rows