primitive types can be stored more efficiently than general objects (an integer is exactly 32 bits, an object an be any size)
for the CompositeIndex the objects are fine as long as they implement the equals() method
your graph will be more difficult to use if you do not know what data type is in a property. Users would have to explore for themselves what object types are in the graph. This means a lot of OLAP queries with lots of waiting time and a large load on the graph system. If users only use their own data, you can give each user its own graph.
if you use Gremlin Server, the supported protocols will not know how to serialize arbitrary objects, so you have to instruct the client to request the string values of objects only. Then, you could have asked your users to enter object strings into janusgraph in the first place.