Imagine I'm designing as search bar for mobile websites and don't want to waste the space on a "Go" or "Search" button on my interface, can I just expect the user to tap on the "Go" button on his virtual keyboard? Do all platforms work like this or are there any that don't have this key?
That wouldn't be advisable.
Take a simple interface...
... and now close the keyboard (something many keyboards can do, through a direct button press or other user action)...
... now what? It is not appropriate to allow the user to reach a state where they have to figure out what to do. In the above situation they have to tap back into the search field so they get the keyboard back.
A clear and purposeful button is not wasted space. There are plenty of way to properly integrate a button that makes very clear to the user how to move forward.
Now your user knows exactly what to do. Maybe they hit "Go", which is fine. If they choose not to they still get to move forward without confusion.
Evil Closet Monkey is right, but I would like to add that even if the GO button is visible, it still is easily overlooked.
People expect the keyboard to appear when an input has focus and therefore is meant for that input only. This will not count for all users but there will be users that look up at the app when they are done typing, looking for a button or further instructions. While an argument can be that they will find it anyway, it adds unnecessary cognitive load.
I agree that you would want to make the most of available space on your UI. Let me tell you that you are not alone. I have seen applications using the practice you mentioned on Android. I am not sure of other platforms.
It has always been annoying at first to operate that interface when the action button is missing on UI, but soon I got used to it. Should you take that as a Yes and go ahead? No.
User's expectations around the interface elements have always comprised of action buttons since a fair amount of time, but since long time users are used to using web interfaces with plenty of real estate. When user's mental model is challenged, you are likely to face resistance. Are you up for it?
I see a middle way here. I would give both options at first. I would include an action button on screen and I will also trigger the same action using keyboard. As a design pattern I will implement this across all the views of my app. After few versions, I will start tweaking it and slowly phase out the on screen action button.
Having said that, please remember that users place a significant weightage on the feel of the entire app. If your app has a modern, flatter, probably material/fluid UI, users would be more accommodating of the deviations you take from the set constructs about placements of the elements. Also it is important to take into account your target user group and if they'll be comfortable with change of conventions.