Regarding your question in the second patch, the answer to seems to be yes, wined3d_rendertarget_view_vk_get_image_view calls wined3d_texture_vk_get_default_image_info.
While it does so, it only grabs VkDescriptorImageInfo::imageView and ignores the layout. The other callers are either UAV-related (wined3d_unordered_access_view_vk_clear, wined3d_shader_descriptor_writes_vk_add_uav_write), for which texture_vk->layout is supposed to be LAYOUT_GENERAL anyway. Finally, wined3d_shader_descriptor_writes_vk_add_srv_write needs either GENERAL or SHADER_READ_ONLY_OPTIMAL.
Still, this is not nice. This needs a better solution.