I think this is the key misunderstanding here. The key \xf0\xff should not be placed into the subspace.
Subspaces are meant to contain the same keyspace that you can store if you are not in a Subspace. If you are not in a Subspace, then keys starting with \xff are not allowed as that is the reserved system space of FDB. While keys could start with \xff after any non-empty prefix, it’s not a supported use case.
This is why the range for a Subspace with prefix P which includes all keys in the subspace is <P> to <P>\xff. From the Subspace perspective, this range is inclusive of all keys expected to be in the Subspace. The raw range returned to use with the raw key getRange() is exclusive of the end key, but this does not exclude any expected keys in the Subspace because keys which begin with \xff after the prefix are not a supported use case.