This patch is difficult to split because types typically flow through to vkd3d_spirv_get_type_id(), so partial changes would require new calls to conversion functions which would be deleted again later.
I think such temporary calls to conversion functions would be fine, and preferable. Realistically, the easiest way to get this kind of change committed is to change one function per commit, and have about 5 commits per MR.