Well.. the create does clip the area, the only simple solution I did is:
Graphics2D surf = (Graphics2D) surface.create();
surf.translate(x,y);
image.draw(surf, width, height);
surface.setColor(Color.BLUE);
surface.fillRect(-5, -5, 10, 10);
surf.dispose();
And this does draw as expected.