Wrong CRS with ogr2ogr
According to spatialreference.org , EPSG 3067 and EPSG 3047 have the same same proj4 parameters (but not the same extent, as 3067 is defined for Finland and 3047 is defined for the entire 35N UTM zone). I also checked the OGC WKT and they are equivalent (same false Easting and Northing...)
EPSG 3047: +proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
EPSG 3067: +proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs
If you are expecting a difference between the two, then you could build your own definition in proj4 standard.
EDIT: user30184 spotted the difference between the two CRS: epsg3047 is using Northing-Easting while epsg3067 is using easting-northing. The proj4 should therefore be updated for axis switch. From this discussion on orsgeo.org forum, you can see that:
The +axis switch takes three character arguments defining the axis orientation of the coordinate system. The possible values are: 'e' - easting 'w' - westing - an x/longitude with the opposite sign to normal. 'n' - northing 's' - southing - a y/latitude with the opposite sign to the normal. 'u' - up - normal z 'd' - down - a z/elevation with the opposite sign to the normal.
According to that, here would be the updated (explicit) proj4 strings:
EPSG 3047 (UTM zone 35N (N-E))=> neu:
+proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +axis=neu
EPSG 3067 (TM35FIN(E,N)) => enu:
+proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +axis=enu
for changing from 3067 to 3047, you could also use (in proj4 v >=5)