Gdscript can be viewed as object oriented so principles of object oriented programming apply here. It is even in the best practices guide. Generally, using inheritance to reduce code duplication is a good thing. Also giving each object its own script instead of having one script controlling everything is a good idea as it reduces code complexity. This is a good thing as it really helps with bug fixing and maintenance of your code.
This seams like the approach you are taking so I think it's fine.