Personally I would stick away from using Blocks for properties. It make the UI look off with the grouping and you can get in to issues when changing the block model which I've had many times before due to the syncronization system. Much better IMO to inherit or define interfaces for property reuse.
I did not understand what you are trying to do.
You use a block as a property, i.e. as a local block. That works fine.
You use nested local blocks as properties, i.e. local block inside local block, and then there is an issue?
I have created successfully a block to be used a property type. When I use it inside another block it works as expected and shows the fields I set, but if the block is a child of another block(the one that opens in a modal) it shows all inherit properties from BlockData. Any ideas on this?