The piano uses velocity data to control volume/timbre. I'm assuming that your live keyboard is a velocity sensitive instrument. When you use a sequencer to record yourself playing from gentle to aggressive do you see different velocity values in the recorded data? When you graphically enter different velocity values in your sequencer do you hear volume/timbre changes then?
There are two most likely areas where MIDI data can be modified: The controller keyboard and the sequencing program receiving the data. Did you record the MIDI data and examine it? That will tell you if the information is arriving correctly at the sequencer tracks (assuming you haven't inserted any MIDI plugins at your sequencer that could alter the data before it reaches the tracks.) Are you even using a sequencer? If so, which? If not, what host software are you using?
You should also check your keyboard to see if it is configured to modify the data before it sends. Check things like transposition for the mapping offset problem and velocity curves for the lack of velocity dynamic range.