vkGetImageSparseMemoryRequirements2 returns large miptail

If i create a sparse residency image with this info:

VkImageCreateInfo info;
info.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
info.pNext = nullptr;
info.flags = VK_IMAGE_CREATE_SPARSE_BINDING_BIT | VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT;
info.imageType = VK_IMAGE_TYPE_2D;
info.format = VK_FORMAT_BC7_UNORM_BLOCK;
info.extent = { 768u, 512u, 1u };
info.mipLevels = 10;
info.arrayLayers = 1;
info.samples = VK_SAMPLE_COUNT_1_BIT;
info.tiling = VK_IMAGE_TILING_OPTIMAL;
info.usage = VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
info.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
info.queueFamilyIndexCount = 0;
info.pQueueFamilyIndices = nullptr;
info.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;

and then call vkGetImageSparseMemoryRequirements2 for that image, i get a count of 1 and the VkSparseImageMemoryRequirements2.memoryRequirements is filled with this info

formatProperties.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT
formatProperties.imageGranularity = { 256, 256, 1 }
formatProperties.flags = 0
imageMipTailFirstLod = 1
imageMipTailSize = 196608 // 3 64kB pages
imageMipTailOffset = 393216 // 6 64kB pages
imageMipTailStride = 559616 // not a multiple of 64kB, not sure if invalid since info.arrayLayers == 1

I would expect imageMipTailSize to be exactly 1 page and imageMipTailFirstLod to be 2 in this example, since the mipmap is 384x256 at level 1.

The 1.1.73 spec reads in 29.4.2 (page 866 with all extension):

In the absence of VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT and
VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT, each array layer contains a mip tail region containing
texel data for all mip levels smaller than the sparse image block in any dimension.

Mip levels that are as large or larger than a sparse image block in all dimensions can be bound
individually. Right-edges and bottom-edges of each level are allowed to have partially used sparse
blocks. Any bound partially-used-sparse-blocks must still have their full sparse block size in bytes
allocated in memory.

The following image returns even more confusing results. An image with

VkImageCreateInfo info;
info.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
info.pNext = nullptr;
info.flags = VK_IMAGE_CREATE_SPARSE_BINDING_BIT | VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT;
info.imageType = VK_IMAGE_TYPE_2D;
info.format = VK_FORMAT_BC7_UNORM_BLOCK;
info.extent = { 1920u, 1080u, 1u };
info.mipLevels = 11;
info.arrayLayers = 1;
info.samples = VK_SAMPLE_COUNT_1_BIT;
info.tiling = VK_IMAGE_TILING_OPTIMAL;
info.usage = VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
info.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
info.queueFamilyIndexCount = 0;
info.pQueueFamilyIndices = nullptr;
info.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;

gets me this

formatProperties.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT
formatProperties.imageGranularity = { 256, 256, 1 }
formatProperties.flags = VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT
imageMipTailFirstLod = 0
imageMipTailSize = 3801088 // 58 64kB pages
imageMipTailOffset = 0
imageMipTailStride = 0

This behaves like the VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT flag, but my physical device reports residencyAlignedMipSize is false, so that flag cannot be present. While the VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT is weird (since the other image did not have it), i do not think it is prohibited, but since info.arrayLayers == 1 is makes no difference.
I would expect imageMipTailSize to be, again, exactly 1 page and imageMipTailFirstLod to be 3 in this example, since the mipmap is 960x540 at level 1 and 480x270 at level 2.

My system:
Windows 7 SP1 x64
MSVC 2017 x64 C++ compiler
GeForce GTX 970 with Beta-Driver 397.40
LunarG Vulkan SDK 1.1.73.0

The problem is still present in both driver 398.36 and 397.96.
I would really appreciate it if i could get some feedback on it, and i am willing to provide a repro-app if required (even though it seems pretty straight-forward to identify).

Regards