Python: does it matter where I save properties?
Blender's Custom properties can be attached to selected blender classes. 


All data block types
Bones and Pose Bones
Sequence Strips


Where to place a property really depends on you usecase. If the property is tells something (or enhances) something that is related to Materials why not add it to the material self, so it is easier to find. 

Best way to approach this is: Find the most detailed class where it tells something about a single instance of that class. If the property is shared over multiple instances of that class you can move it to a higher level like:


Armature for Bones and PoseBones
WindowManager for Scenes
Scene for most other classes


When placing it with Objects it is also important to find if it is part of the Object (placement in 3d scene) or part of its data (Mesh etc). 

At the end it is just normal software design and knowing how Blender is stuctured